一、FuzzDB
开源的应用程序模糊测试数据库,包含了各种攻击 payload 的测试用例集合。
主要功能:
- OS 命令注入
- 目录遍历
- 文件上传绕过
- 身份验证绕过
- XSS
- SQL 注入
- HTTP 头注入
- CRLF 注入
- NoSQL 注入等
- 还包含了一些用不同语言写成的 webshell 与常用的账号密码字典。
github地址:GitHub - fuzzdb-project/fuzzdb: Dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.
下载至本地。
解压,其中attack下是各种攻击payload。
二、使用SQLi-CTF靶场:
github地址:GitHub - Corb3nik/SQLi-CTF: A training CTF covering non-blind SQL injection techniques
安装部署步骤:
1)下载SQLi-CTF-master到本地。
解压。
2)切换到解压后目录:cd SQLi-CTF-master
3)运行:docker-compose up
4)访问:http://127.0.0.1:12000,显示如下页面,则表示服务启动成功。
实战演练:
1)选择Level2
2)输入用户名test及密码test123,并使用Burp Suite拦截登录请求。
将该登录请求发送至Intruder中,只对登录用户名进行payload替换。
攻击类型说明:
sniper 狙击手:使用单一词典,每次仅变更一个参数,如果 username、password 都是变量,会先让username 遍历字典,password 不变,后变 password,username 不变。
Battering ram攻城锤:使用单一词典,有多个变量,同时变更为同一值。
Pitchfork音叉:每个变量一个字典。一次失败后,三个变量同时改变,一个变量不会与另一个变量所有情况匹配到。
Cluster bomb集束炸弹:笛卡尔积形式,每隔一个变量要与另一个变量所有情况测试到,在多个字典情况下,测试时间非常漫长。
本次示例中登录用户名payload使用:fuzzdb-master\attack\sql-injection\detect\xplatform.txt
Burpsuite加载payload后:
设置选项:
点击开始攻击:
攻击结果:
图示加载了多个字典,发现了多个攻击脚本能够渗透完成 。
本示例通过长度大小来判断哪些是成功注入的,发现多个成功注入,这里的长度是返回页面的长度大小。
以上来自学习极客时间《Web 安全攻防实战》课程内容,汇总整理。
版权归原作者 aovenus 所有, 如有侵权,请联系我们删除。