Exp9 Web安全基础
基础问题回答:
-
sql注入攻击原理,如何防御?
-
XSS攻击的原理,如何防御?
3.CSRF攻击原理,如何防御?
实验步骤:
一、WebGoat配置
进入https://github.com/WebGoat/WebGoat/releases/tag/7.0.1网站
下载 webgoat-container-7.0.1-war-exec.jar
输入 java -jar webgoat-container-7.0.1-war-exec.jar 安装jar包
看到上图红框中信息后打开浏览器登陆 http://localhost:8080/WebGoat 网站。
二、sql注入攻击(Injection Flaws)
1.命令注入(Command Injection)
2.日志欺骗(Log Spoofing)
3.sql 注入(LAB: sql Injection)
stage 1:String sql injection
4.盲数字sql注入(Blind Numeric sql Injection)
-
-
输入
101 AND 1=2
第二个条件不成立,页面返回帐号无效
-
-
-
输入
101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) > 10000 );
页面返回帐号无效,说明PIN<=10000
-
-
- 多次尝试输入,输入
2364
为正确PIN值
- 多次尝试输入,输入
二、XSS攻击
1.存储型XSS攻击(Stored XSS Attacks)
-
- 在title中任意输入字符,留言板中输入
<script>alert("js4303");</script>
- 在title中任意输入字符,留言板中输入
2.反射型XSS攻击(Reflected XSS Attacks)
三、CSRF攻击
1.跨站请求伪造(Cross Site Request Forgery (CSRF))
<img src="http://localhost:8080/WebGoat/attack?Screen=321&menu=900&transferFunds=5000"/>
-
- 点击 Submit (其中语句中的&transferFunds=5000,即转走的受害人的金额;宽高设置成1像素的目的是隐藏该图片)
-
2.绕过 CSRF 确认( CSRF Prompt By‐Pass
)
实验感想:
这次实验难度不高,但项目比较多,因此也花费了不少时间。终于做完了最后一个实验,有点小开心,尽管说实话自己也觉得做得不怎么样,验收从没有去过,现场的确做不出来,一般要花费好几天才能搞定,因此从来没敢去验收。但将基础的东西完整地做完,我觉得自己的收获也不少。尽管过程很痛苦,但现在想起来还是挺好的。