Skip to content

Burpsuite - Route Vulnerable Scanning 递归式被动检测脆弱路径的burp插件

Notifications You must be signed in to change notification settings

F6JO/RouteVulScan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RouteVulScan

Burpsuite - Route Vulnerable scanning 递归式被动检测脆弱路径的burp插件


贡献

介绍

RouteVulScan是使用java语言基于burpsuite api开发的可以递归检测脆弱路径的burp插件。

插件可以通过被动扫描的方式,递归对每一层路径进行路径探测,并通过设定好的正则表达式匹配响应包的关键字,展示在VulDisplay界面。可以自定义相关路径、匹配信息、与漏洞名称等。

插件重点是那些简单而有害的漏洞。这些漏洞通常不是固定路径,但可能位于路径的任何层。在这种情况下,非常容易忽视这些漏洞,而如果使用路径爆破,则非常耗时和麻烦。

所以插件主打是发送数量小、准确的payload,尽可能覆盖面广的探测一些容易忽略的漏洞。

推荐使用方式

推荐一下我本人使用插件的方式 首先配置处,只打开Head按钮,如下

然后正常测试网站,测试时多点一点各个功能,在这个站测试完毕后,选中任意一个请求发送到插件。

这样测试可以跳过那些杂七杂八的网站,只针对这一个站进行测试,且也能扫描到整个站的角角落落。

测吧,一测一个不吱声。

使用

装载插件:Extender - Extensions - Add - Select File - Next

初次装载插件会在burpsuite当前目录下生成Config_yaml.yaml配置文件,用来储存匹配规则,该文件默认在当前burp目录下。

插件支持在线更新,点击Update按钮更新追加最新规则。部分网络需要挂代理,在线更新使用的是burp网络,所以可以直接配置burp的顶级代理。

功能介绍

  • 被动扫描,使用Burpsuite IScannerCheck接口,在流量初次流经burp时进行扫描,重复流量不会进行扫描。

  • 使用线程池增加扫描速度,默认线程10,可自行调节(线程个数最多与规则个数相等,多了也没用)

  • Start按钮,插件主开关,默认关闭

  • DomainScan按钮,开启后如果host为域名,则将子域和主域当作第一层路径进行扫描,默认关闭。

  • Head按钮,携带原始的请求头,默认关闭

  • Bypass按钮,不符合预期时将配置文件中的bypass字符添加到路径中重新扫描,默认关闭

  • Filter_Host 输入框,可以只扫描指定host的url,*代表全部,如 *.baidu.com

  • VulDisplay界面右键可删除选中的行,或全部删除

  • 右键请求可选择将当前请求发送到插件进行主动扫描,插件会将站点地图中,与当前请求使用一样host的历史路径全部进行扫描

  • 规则中可使用特殊标记获取原始请求或响应中的信息,用作请求的路径或正则。

    请求相关:
      {{request.head.*}}	-- 获取请求中head的各项,如获取cookie,{{request.head.cookie}}
      	{{request.head.host.main}}	-- 获取host的根域名,如www.baidu.com:443,则获取baidu.com
      	{{request.head.host.name}}	-- 获取域名,如www.baidu.com:443,则获取baidu
      {{request.method}}	-- 获取请求的方法,如GET/POST
      {{request.path}}	-- 获取请求的路径,如/aaa/bbb,则获取aaa/bbb
      {{request.url}}	-- 获取完整请求url
      {{request.protocol}}	-- 获取请求的协议,如http/https
      {{request.port}}	-- 获取请求的端口号
    响应相关:
      {{response.head.*}}	-- 获取响应中head的各项,如获取server,{{response.head.server}}
      {{response.status}}	-- 获取响应的状态码
    
  • 状态码一栏可指定范围,如 200-299,500-599,302 可使用逗号来指定多个范围或多个状态码。

更新计划

  • 2022-06-19 右键选择请求发送到插件扫描【✓】
  • 2022-06-30 域名过滤【✓】
  • 2022-06-19 UI界面增加数据包大小【✓】
  • 2022-06-22 VulDisplay界面添加删除功能【✓】
  • 2022-06-30 插件功能开关【✓】
  • 2022-06-30 带原始请求头访问【✓】
  • 2022-06-30 可自定义post/get请求【✓】
  • 2022-07-01 配置文件在线更新【✓】
  • 2022-10-18 添加分类,提供可根据个人习惯对规则进行分类处理【✓】
  • 2022-10-18 添加选择,每个规则设置为可选的形式,可自由选择想要的规则【✓】
  • 2023-02-04 添加bypass规则,在正常请求不符合预期时,尝试在路径中插入bypass字符尝试绕过【✓】
  • 2023-05-09 将匹配的state状态码改为可以设置范围【✓】
  • 2023-05-09 添加类似模板语言的标记,可在Config中配置标记获取当前请求的各类信息并当作路径或正则【✓】
  • 2024-03-07 展示面板加入排序,优化bypass功能【✓】
  • 修改UI适配

开心值

Stargazers over time

最后


如有正则、BUG、需求等欢迎提Issues