漏洞扫描类 Burpsuite

1.1. 功能介绍

Burpsuite 是 Web 应用程序测试的最佳工具之一,其多种功能帮我们执行各种任务,请求的拦截和修改,扫描 Web 应用程序漏洞,以暴力破解登录表单,执行会话令牌等多种的随机性检查。

特征:先爬取再检测是否有漏洞

1.2. 部署指南

Java 运行环境 + Burpsuite 安装包

1.3. 实战

由于 Burpsuite 功能强大,各项参数复杂,下面我们只看重于软件的主要功能,

1.3.1. New Scan(新建扫描)

  1. Scan details:扫描细节

    scan type:crawl and audit(爬行并审计)

    url to scan:https://www.oldboyedu.com

    1)details scope configuration:详细的范围设置

    included url prefixes:包含 url 前缀

    exclude url prefixes:排除 url 前缀

    2)use advanced scope control:高级范围设置

    included urls:包含的网址

    excluded urls:排除的网址

    3)protocol:协议(any,https,http)

  2. Scan configuration:扫描设置(参考默认配置)

    new crawling/auditing:爬行/审计

    1)crawl optimization:抓取优化(maximum link depth 最大链接深度,几级网站目录;crawl strategy 爬行策略,速度)

    2)crawl limits:抓取限制(maximum crawl time 最大抓取时间,超过这个时间就会自动终止)

    3)login functions:登录功能(attempt to self-register a user 尝试自行注册简单网址用户;trigger login ..(use invalid username) 登录失败,使用非法用户

    4)handling application errors crawl:处理爬网期间的应用程序错误(连续错误超时,跳过该扫描)

    5)miscellaneous:其他

  3. application login:用户注册(有些网站扫描时要输入用户名和密码,用来扫后台的模块 label标签)

  4. resource pool:资源池

1.3.2. New live task(实时任务)

Scan details

live audit:

  1. choose predefine task:自定义任务
  2. passive scan through proxy:使用代理被动扫描
  3. active scan through proxy:使用代理主动扫描

url scope:网址范围

deduplication:重复排除

Scan configuration:扫描设置(保持默认)

  1. audit optimization:审计优化
  2. lssues reported:要报告的问题
  3. handing application errors furing audit:在诊断期间处理应用错误
  4. insertion point type:插入点类型
  5. modifying parameter locations:操作参数位置
  6. ignored insertion points:忽略插入点(可跳过的服务端插入的位置)
  7. frequently occrurring insertion points:经常插入点
  8. misc insertion point options:其他插入点
  9. javascript analysis:js解析

1.3.3. Undock

可以单独把区域页面放大拿出来

1.4. Target

  1. site map:显示扫描的结果

  2. filter:筛选,剔除筛选标准

  3. scope:范围

    1)include in scope:包含的范围

    2)exclude from scope:剔除的IP网址,有些企业会对扫描结果进行垃圾存储

    3)issue definitions:问题定义,扫描的漏洞库

1.5. Proxy(代理)

相关参考:https://blog.csdn.net/weixin_45798017/article/details/105151456 或者 https://blog.csdn.net/weixin_45798017/article/details/105255856

1.6. Intruder(入侵)

  1. Target:代理拦截后会自动识别

  2. Positions:

    auto:有参数的地方自动添加变量

    refresh:刷新

  3. Payloads:定义参数值和类型

    payload set:参数值

    payload type:类型(可以是numbers,下面就有相关的设置)

    payload 也可自定以添加(simple lists)

    intruder->start attack(开始攻击)

    当对一个参数进行暴力破解时,选用sniper;当有两个参数时,选择cluster bomb模式

1.6.1 Sniper

Sniper模式:使用单一的payload组,它会针对每个位置设置payload,使用于对请求参数单独进行Fuzzing测试的情形,攻击中请求总数是position数量和payload数量的乘积。

1.6.2 Battering ram

使用单一的payload组,重复payload并一次性把所有相同的payload放入指定的位置中,适用于需要在请求中把相同的输入放到多个位置的情形,请求的总数是payload组中payload总数。

1.6.3 Pitchfork

使用多个payload组,攻击会同步迭代所有的payload组,把payload放入每个定义的位置,适用于在不同位置中需要插入不同但相似输入的情况,请求的数量是最小的payload组中的payload数量。

1.6.4 Cluster bomb

使用多个payload组,每个定义的位置中有不同的payload组,攻击会迭代每个payload组,每种payload组合都会被测试一遍,这种攻击适用于在每个位置需要不同且不相关或者未知输入攻击的情景,攻击总数是各个payload组中payload数量的乘积。