20155217《网络对抗》Exp09 Web安全基础实践

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
今日推荐