20155217《网络对抗》Exp09 Web安全基础实践
其他
2018-05-22 21:56:39
阅读次数: 3
20155217《网络对抗》Exp09 Web安全基础实践
实践内容
- 关于webgoat:询问了很多人在安装webgoat时出现了错误,安装失败,因此直接通过同学copy了老师的虚拟机进行本次实验。
- 输入命令
java -jar webgoat-container-7.0.1-war-exec.jar
运行WebGoat
。
WebGoat
使用8080端口
,所以在浏览器上访问localhost:8080/WebGoat
进入WebGoat。
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'
,这里的1='1'
为永真式,因此成功显示所有信用卡号。
Log Spoofing(日志欺骗)
- 因为输入的用户名会被追加到日志文件中,所以可以欺骗管理员来使用户名为“admin”的用户在日志中显示“成功登录”。
- 输入
yd%0d%0aLogin Succeeded for username: admin
,其中%0d
是回车,%0a
是换行符。
Numeric SQL Injection(数字SQL注入)
- 修改
SELECT * FROM weather_data WHERE station = 101 or 1=1
为永真式来达到查看全部天气数据的目的。
- 选中
Columbia
,点Go
,可以看到所有天气数据。
Command Injection(命令注入)
Database Backdoors(数据库后门攻击)
- 发现客户端输入的查询语句没有在服务器端进行验证。输入
101; update employee set salary=10000
,服务器为我们更新。
- 输入
101;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email='邮箱' WHERE userid = NEW.userid
,使没创建一个新用户的时候,自动为其填充为我们所希望的邮箱。
转载自www.cnblogs.com/yangdi0420/p/9074251.html