【安全测试学习】自动化注入攻击之 FuzzDB和Burp 组合拳

一、FuzzDB

开源的应用程序模糊测试数据库,包含了各种攻击 payload 的测试用例集合。

主要功能:

  1. OS 命令注入
  2. 目录遍历
  3. 文件上传绕过
  4. 身份验证绕过
  5. XSS
  6. SQL 注入
  7. HTTP 头注入
  8. CRLF 注入
  9. NoSQL 注入等
  10. 还包含了一些用不同语言写成的 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 安全攻防实战》课程内容,汇总整理。 

猜你喜欢

转载自blog.csdn.net/aovenus/article/details/127931085