burpsuite常用插件推荐与使用(不断跟新中)

0x00 前言

做安全的人都知道,burpsuite是安全从业者必须要会使用的神器,之所以称之为神器,是因为他不仅功能强大,好用,界面美观,还有丰富的插件拓展功能,支持python和java写的插件,用户可以在插件商城中去安装,有代码编写能力的,还可以自己编写插件。

img

0x01 Active Scan++

1.1 介绍

ActiveScan ++扩展了 Burp Suite 的主动和被动扫描功能,可以扫描出更多的漏洞。

1.2 下载

https://github.com/albinowax/ActiveScanPlusPlus

1.3 安装

需要 jython-standalone-2.5.jar 环境,参考burp加载jython时出错

1.4 使用

先在extender模块查看是否勾选上了。

主被动扫描自己就调用了

0x02 AutoRepeater

2.1 介绍

Burp Suite是一个拦截HTTP代理,它是执行Web应用程序安全测试的事实工具。虽然Burp Suite是一个非常有用的工具,但使用它来执行授权测试通常是一项涉及“更改请求和重新发送”循环的繁琐工作,这可能会漏掉漏洞并减慢测试速度。AutoRepeater是一个开源的Burp Suite扩展,旨在减轻这种努力。AutoRepeater可自动化和简化Web应用程序授权测试,并为安全研究人员提供易于使用的工具,可在Burp Suite中自动复制,修改和重新发送请求,同时快速评估响应的差异。

AutoRepeater仅重新发送由定义的替换更改的请求。当AutoRepeater收到与给定选项卡设置的条件匹配的请求时,AutoRepeater将首先将每个已定义的基本替换应用于请求,然后将复制请求,并为每个已定义的替换执行基本替换,并将给定的替换应用于请求。

【AutoRepeater特点】

没有AutoRepeater,基本的Burp Suite Web应用程序测试流程如下:

  1. 用户面对Web应用程序,直到找到有趣的请求
  2. 用户将请求发送到Burp Suite的“Repeater”工具
  3. 用户在“Repeater”中修改请求并将其重新发送到服务器
  4. 重复步骤3,直到找到甜蜜漏洞
  5. 从第1步开始,直到用户用完测试时间或者可以退出bug赏金收入

虽然此测试流程有效,但测试任何请求中可能存在的问题尤为繁琐。例如,更改电子邮件地址,帐户身份,角色,URL和CSRF令牌都可能导致漏洞。目前,Burp Suite不会在Web应用程序中快速测试这些类型的漏洞。

现有一些Burp Suite插件(AuthMatrix,Authz和Autorize)可以使授权测试更容易,但每个插件都有限制其实用性的问题。AuthMatrix和Authz要求用户向插件发送特定请求,并设置授权测试执行方式的规则,这会导致丢失重要请求的风险并降低测试速度。Autorize不为用户提供执行通用文本替换的能力,并且具有令人困惑的用户界面。AutoRepeater从这些插件中获取所有最佳创意,以及Burp Suite熟悉的用户界面,并将它们组合在一起以创建最简化的授权测试插件。

AutoRepeater提供了一种通用解决方案,用于简化Web应用程序中的授权测试。AutoRepeater提供以下功能:

  • 自动复制,修改和重新发送任何请求
  • 有条件的替代品
  • 快速标题,Cookie和参数值替换
  • 拆分请求/响应查看器
  • 原始与修改的请求/响应差异查看器
  • 基本替换中断CSRF令牌和会话cookie等请求的值
  • Renamable标签
  • 记录
  • 出口
  • 切换激活
  • 从其他Burp Suite工具“发送到AutoRepeater”

2.2 下载

项目地址:https://github.com/nccgroup/AutoRepeater

2.3 安装

【方法一】

可以在应用市场中快速的安装,缺点是安装的版本不是最新的版本。

【方法二】

自行下载添加安装,下载传送门,然后

安装完成

2.4 使用

流程:先点开关,在replacements添加替换规则,之后logs一般默认即可,接下来将数据包发送到AutoRepeater就可以分析了,我这里面为了直观,替换规则是“将GET换成POST了”

2.4.1 功能介绍

【replacements】

nkyBK1.png

还有很多其他的规则,这里只是做了一个示范

【logs】

nkcl7V.png
大致布局

nkD1u6.png

……忘了标记顺序了,就这样吧

2.4.2 使用注意事项

1.未开始测试的时候,先不要开启,默认是开启状态

开启状态

2.cookie jar不能勾选上

3.重启之后,数据会丢失,规则配置还在

2.4.3 AutoRepeater替换规则举例

【测试未经身份验证的用户访问】

要测试未经身份验证的用户是否可以访问该应用程序[删除cookie],需要选择Remove Header By Name之后;Match选择Cookie

【测试经过身份验证的用户访问(越权之类)】

要测试越权之类【替换cookie值】的,需要在Base Replacements下为cookie配置一个规则, Match Cookie Name, Replace Value匹配cookie名称,替换为权限较低的用户的cookie值

2.5 参考

https://github.com/nccgroup/AutoRepeater

https://github.com/lilifengcode/Burpsuite-Plugins-Usage

0x03 jsEncrypter

3.1 介绍

jsEncrypter是一个BurpSuite插件,使用phantomjs调用前端加密函数对数据进行加密,方便对加密数据输入点进行fuzz。

3.2 jsEncrypter下载

1:直接在releases下载

2:自行编译:

1
2
git clone https://github.com/c0ny1/jsEncrypter.git
mvn package

3: 编译好的:传送门

3.3 安装插件

3.4 jsEncrypter插件使用

3.4.1 运行靶机

项目提供了一个用php编写的靶机(jsEncrypter/server),靶机提供了7个算法对密码进行加密后传输,后台解密,最后进行密码匹配。

  • base64
  • md5
  • sha1
  • sha254
  • sha384
  • sha512
  • RSA

3.4.2 编写phantomJS运行脚本

jsEncrypter/js/jsEncrypter_base.js为插件phantomJS脚本模板。我们只需要将实现加密算法的js文件引入模板脚本,并在模板脚本的js_encrypt函数体中完成对加密函数的调用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
......
......
......
// 加载实现加密算法的js脚本
var wasSuccessful = phantom.injectJs('xxx.js');/*引入实现加密的js文件*/

// 处理函数
function js_encrypt(payload){
var newpayload;
/**********在这里编写调用加密函数进行加密的代码************/
/**********************************************************/
return newpayload;
}
......
......
......

项目jsEncrypter/server/TestScript目录下是编写好的对应靶机各个加密算法的phantomJS脚本,可以参考!

3.4.3 运行phantomJS并测试

运行phantomJS

测试的目的是为了确保我们编写的phantomJS脚本能够正常加密payload。

抓包暴力破解

img

0x04 BurpBounty

4.1 介绍

Burp Bounty(BApp商店中的扫描检查生成器)是Burp Suite的扩展,它允许您以快速简单的方式通过非常直观的图形界面通过个性化规则改进主动和被动扫描仪。

4.2 下载

https://github.com/wagiro/BurpBounty/releases

4.3 安装

1.在burp extender模块加载插件

2.显示界面

4.4 使用

4.4.1 基本使用

1.选择 Profiles Directory

2.加载字典

3.过滤设置为all,扫描的时候启动全部项目

4.实验环境-DVWA

5.抓包拦截-执行主动扫描

6.扫描结果

4.4.2 高级使用

【添加扫描项目】

  1. 命名
  2. 作者
  3. 选择扫描方式:主动扫描
  4. 选择request方式加载payload
  5. 选择payload设置:替换、添加
  6. 当然也可以选择payload编码方式

  1. 选择response方式,设置payload返回包匹配规则

  1. 选择issue,设置漏洞等级,细节描述等

0x05 JSBeautiful

5.1 介绍

简单说一下就是美化网页资源JS CSS HTML XML的

5.2 下载

https://github.com/irsdl/BurpSuiteJSBeautifier

5.3 安装

导入后会出错,原因是还没有导入lib包,接着导入lib包即可。

成功导入lib包后,再次到extensions模块下开启插件

然后会多出来一个标签栏

5.4 使用

随便访问GitHub网站,然后在拦截的数据包的返回包中右击,点击

beautify this。

点击以后会弹出一个小窗口,点击确定就可以了。

0x06 Hackvertor

6.1 介绍

Hackvertor是一个基于标签的转换工具,支持各种转义和编码,包括HTML5实体,十六进制,八进制,unicode,url编码等。

  • 它使用类似XML的标记来指定使用的编码/转换类型。
  • 您可以使用多个嵌套标记来执行转换。
  • 标签也可以有参数,允许它们像函数一样运行。
  • 它具有自动解码功能,可以猜测所需的转换类型并自动解码多次。
  • 多个标签
  • 字符集转换

6.2 下载

https://github.com/hackvertor/hackvertor

6.3 安装

6.4 使用

1.简单base64加密

首先输入一个1

nEON7V.png

选中1,选择base64加密

nEOrc9.png

2.多层加密base64+md5

nEzuRO.png

nEz8eA.png

3.大致布局

nVSIgS.png

charset 字符集

compression 压缩

encrypt 加密

HMACMD5 计算基于哈希值的消息验证代码

6.5 参考

  1. https://portswigger.net/bappstore/65033cbd2c344fbabe57ac060b5dd100
  2. https://portswigger.net/blog/bypassing-wafs-and-cracking-xor-with-hackvertor

0x07 jsonBeautiful

7.1 介绍

简单来说就是美化json的,让json数据看起来更加美观

7.2 下载

7.3 安装

在BApp Store中下载

7.4 使用

0x08 J2EEscan

8.1 介绍

J2EEScan是Burp Suite的插件。此插件的目标是在J2EE应用程序的Web应用程序渗透测试期间改进测试覆盖率。【官方】

J2EEScan能测漏洞,比如Apache StrutsJBossJava ServerTom猫、等东东的漏洞。【非高大尚解释】

测试用例:

杂项

  • 表达语言注入(CVE-2011-2730)
  • Apache Roller OGNL注射液(CVE-2013-4212)
  • 本地文件包括 - /WEB-INF/web.xml已检索
  • 本地文件包含 - 检索Spring应用程序上下文
  • 本地文件包含 - 检索到struts.xml
  • 本地文件包含 - 检索到weblogic.xml
  • 本地文件包含 - 检索到的ibm-ws-bnd.xml
  • 本地文件包含 - ibm-web-ext.xmi检索
  • 本地文件包含 - 检索到的ibm-web-ext.xml
  • 本地文件包含 - / etc / shadow已检索
  • 本地文件包含 - / etc / passwd已检索
  • HTTP Auth弱密码
  • 检索到WEB-INF应用程序配置文件
  • 状态Servlet(CVE-2008-3273)
  • Snoop Servlet(CVE-2012-2170)
  • 扩展路径遍历扫描
  • AJP服务检测 - 感谢@ikki
  • 弹簧启动执行器控制台
  • UTF8响应拆分
  • JK管理端点
  • Pivotal Spring Traversal(CVE-2014-3625)

Apache Struts

  • Apache Struts 2 S2-023 - 感谢@ h3xstream
  • Apache Struts 2 S2-016
  • Apache Struts 2 S2-017
  • Apache Struts 2 S2-020
  • Apache Struts 2 S2-021
  • Apache Struts 2 S2-032
  • Apache Struts DevMode已启用
  • Apache Struts OGNL控制台

Grails的

  • Grails Path Traversal(CVE-2014-0053)

Apache Wicket

  • Apache Wicket任意资源访问(CVE-2015-2080)

Java Server Faces

  • Java Server Faces本地文件包含(CVE-2013-3827 CVE-2011-4367)

JBoss SEAM

  • JBoss SEAM远程命令执行(CVE-2010-1871)

错误处理不正确

  • JSF
  • Apache Struts
  • Apache Tapestry
  • Grails的
  • GWT
  • Java的

XML安全性

  • X包括支持
  • XML外部实体

信息披露问题

  • 远程JVM版本
  • Apache Tomcat版本
  • 码头版
  • Oracle Application Server版本
  • Oracle Glassfish版本
  • Oracle Weblogic版本

合规性检查

  • web.xml - HTTP动词篡改
  • web.xml - 会话跟踪的URL参数
  • web.xml - 不完整的错误处理
  • web.xml - Invoker Servlet

JBoss

  • JBoss Web服务枚举
  • JBoss管理员控制台弱密码
  • JBoss JMX / Web控制台不受密码保护
  • JBoss JMX Invoker远程命令执行
  • JBoss Undertow目录遍历(CVE-2014-7816)
  • JBoss jBPM管理控制台

Tomcat

  • Tomcat Manager控制台弱密码
  • Tomcat Host Manager控制台弱密码
  • 生命终结软件 - Tomcat

Weblogic

  • Weblogic UDDI Explorer Detection
  • Weblogic UDDI Explorer SSRF漏洞(CVE-2014-4210)
  • Weblogic管理控制台弱密码

Oracle应用服务器

  • 添加了对Oracle Log Database Accessible的检查
  • 添加了对多个Oracle应用服务器默认资源的检查(CVE-2002-0565,CVE-2002-0568,CVE-2002-0569)
  • 生命周期结束软件 - Oracle应用服务器

码头

  • @gdssecurity发现的Jetty Remote Leak Shared Buffers(CVE-2015-2080)
  • 生命终结软件 - 码头

Apache Axis

  • Apache Axis2 - Web服务枚举
  • Apache Axis2 - 管理控制台弱密码
  • Apache Axis2 - 本地文件包含漏洞(OSVDB 59001)
  • Apache Axis2 - Happy Axis

NodeJS

  • NodeJS HTTP重定向(CVE-2015-1164)
  • NodeJS HTTP响应拆分(CVE-2016-2216)

8.2 下载

8.3 安装

  • 从“选项” - >“会话”中的“Cookie jar”部分启用扫描程序字段
  • 在Burp Extender选项卡中加载J2EEscan jar
  • 该插件至少需要Java 1.7

1) Cookie Jar启动扫描程序

Burp通过维护Cookie jar来维护你访问过得所有web站点的cookie信息,Cookie jar的信息在Burp的所有工具组件之间是数据共享的。

我们可以通过上图中的勾选项配置,来指定Cookie jar在哪些工具组件之间生效。

2) 下载安装J2EEScan

在Burp Extender选项卡中,找到J2EEscan jar点击install进行安装

3)java版本至少为1.7

运行Java -version 检测

8.4 使用

8.4.1 搭建测试环境【S2-016]

找了好多集成测试平台,都不合适,只能用vulhub自己搭建一个了。

_关于具体搭建方法可以参考vulhub官网,有视频有文档。
_

kali 下搭建 :
第一步:执行命令 sudo apt install docker.io

2019-04-01_211301.png*碰到y/n 或者 yes / not 一律yes *

2019-04-01_211340.png第二步:检测docker是否安装成功,命令行执行:docker -v
2019-04-01_212527.png**
第三步:启动docker,命令行执行:sudo service docker start
查看是否启动成功执行:sudo service docker status,running代表启动成功**

2019-04-01_212431.png**第四步:安装docker-compose ,执行命令:pip install docker-compose
我这之前装过already

**

2019-04-01_213238.png

第五步:安装下载vulhub,执行命令: git clone https://github.com/vulhub/vulhub.git2019-04-01_213552.png**_我这个随便搞得,建议git clone 的时候,在/tmp目录下执行【安装过程慢得很啊】
_
第六步:安装好后进入到vulhub,目录,选择一个你想创建使用的漏洞执行:docker-compose up -d 即可
2019-04-01_214211.png**执行完就等着吧,,,慢的很
2019-04-01_214608.png

8.4.2 使用演示

1) 访问漏洞地址:http://192.168.6.145:8080/index.action?

2019-04-01_220425.png2) 为确定是否成功搭建环境,我们事先用工具验证一下是否存在s2-016

2019-04-01_220715.png3) 打开burp suite,进行抓包,并扫描网站

2019-04-01_220252.png4)切换到scanner 里面观察,等待

2019-04-01_221847.png这里面扫出来的是S2-017,其实是没扫完,在Scan queue队列可以看到只扫了33%

2019-04-01_222037.png

8.4.3 注意事项

1)使用前,请确保cookier jar里面选择scanner

2) J2EEScan,并不像其他 插件一样有单独的菜单

2019-04-02_094025.png

8.5 参考

Burpsuite插件之J2EEScan使用方法

https://www.uedbox.com/post/59166/

https://github.com/lilifengcode/Burpsuite-Plugins-Usage

0x09 chunked-coding-converter

9.1 介绍

chunked 是 http 协议里面的分块传输,简单说就是一个数据传输方式,之后将数据一段一段传过去,waf 无法检测到,就是绕过了,可以结合 sqlmap 来玩.

9.2 下载

https://github.com/c0ny1/chunked-coding-converter

下载地址:传送门

9.3 安装

在burp extender模块加载插件 ,与之前的插件安装类似,将下载来下的插件jar包复制到burpsuite的插件文件夹中,然后再burp suite的extender模块去导入jar包即可。

9.4 使用

菜单

配置

分块传输相关文章:

9.5 参考

编写Burp分块传输插件绕WAF

0x10 domain_hunter

10.1 介绍

扫描子域名的一个插件

10.2 下载

github地址:https://github.com/bit4woo/domain_hunter

下载地址:https://github.com/bit4woo/domain_hunter/releases

10.3 安装

安装完成后,会多一个选项卡

10.4 使用

第一步:点击 add,添加关键字
第二步:访问网站,要有流量才能分析
第三步:点击 search

0x11 HackBar

11.1 介绍

功能和火狐上的插件hackbar差不多,但是相对有些区别,好用还是挺好用的。

11.2 下载

https://github.com/d3vilbug/HackBar/releases/tag/1.0

11.3 安装

下载插件,点击 burpsuite 的 extender 模块添加就行

安装完,鼠标右键会发现“HACK Bar”

11.4 使用

在你拦截的数据包,选中要替换的数据,选择 hack bar 的相应功能即可,有 sql 注入,xxe,xss,一些常见的 webshell 等;下面用 LFI 举例

点完,就替换成功了

0x12 json-web-tokens

12.1 介绍

json-web-tokens,简称JWT ,快速入门:传送门

12.2 下载

https://github.com/PortSwigger/json-web-tokens

12.3 安装

12.4 使用

访问项目主页的演示环境 https://oz-web.com/jwt/,之后访问页面,burp 抓包

工具会自动帮我们解出来,你也可以复制 JWT 到里面工具窗口下解密

0x13 LFI scanner checks

13.1 介绍

这个工具是 检测本地文件包含漏洞的,LFI scanner checks插件 lufei 写的,freebuf 上有介绍传送门

13.2 下载

链接: http://pan.baidu.com/s/1gdfITIN 密码: 4fv7

13.3 安装

在burp extender模块加载插件 ,与之前的插件安装类似,将下载来下的插件jar包复制到burpsuite的插件文件夹中,然后再burp suite的extender模块去导入jar包即可。

13.4 使用

访问漏洞页面,burp 抓包,发送到主动扫描

PAYLOAD:

扫描结果

0x14 logger++

14.1 介绍

跟 http history 差不过,记录的更加全面了,字段也多了几个

14.2 下载

https://github.com/nccgroup/BurpSuiteLoggerPlusPlus

14.3 安装

14.4 使用

正常开代理就行,不用管,跟 http history 一样
下图是 logger 和 burp 自带的对比

【burp history】

【logger++】

【功能介绍】

  1. View logs

  1. 过滤器使用

在过滤器空白处鼠标右键,会出现你要用匹配的位置,

比如返回包的 body

  1. Grep values

  1. Filter library

比如我随便找一个匹配邮箱的正则,放进去。之后点击 set as logfilter

点击跳转了,进行匹配

  1. Options

14.5 规则库

  1. JSON帖子响应中的卡号
1
Response.Headers == "post" && Response.MimeType == "json" && Response.Body == "/(?:4[0-9]{12}(?:[0-9]{3})?|(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|6(?:011|5[0-9]{2})[0-9]{12}|(?:2131|1800|35d{3})d{11})/"
  1. 敏感信息内网IP

1
Response.Body == "/(10(.(25[0-5]|2[0-4][0-9]|1[0-9]{1,2}|[0-9]{1,2})){3}|((172.(1[6-9]|2[0-9]|3[01]))|192.168)(.(25[0-5]|2[0-4][0-9]|1[0-9]{1,2}|[0-9]{1,2})){2})/"
  1. 常规IP地址(包括外网)
1
RESPONSE == /(?:(?:^|\.)(?:2(?:5[0-5]|[0-4]\d)|1?\d?\d)){4}/
  1. 敏感信息手机号

    手机号(存在单词边界)

1
RESPONSE == /\b(1[3-9](\d{9}))\b/

​ 手机号(误报多)

1
RESPONSE == /(1[3-9](\d{9}))/
  1. 敏感信息电子邮件

    通用电子邮件地址匹配

1
RESPONSE == /(([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4}))/

​ 匹配特定邮箱

1
RESPONSE == /(([A-Za-z0-9_\-\.])+\@example.com)/

​ 模糊匹配关键字邮箱

1
RESPONSE == /(([A-Za-z0-9_\-\.])+\@(.*)example(.*))/
  1. 敏感信息身份证号

    身份证号

1
2
3
4
5
# 简易正则
RESPONSE == /((\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X))/

# 出现图片误报
RESPONSE == /((\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X))/ && MIMETYPE != "jpeg"
  1. 潜在的CORS配置不当

    具有允许凭证#1的空CORS响应

    CORS响应头为空#1

1
Response.Headers == "/Access-Control-Allow-Origin: null/"

​ 具有允许凭证#2的空CORS响应

​ CORS响应头为空#2

1
Response.Headers == "Access-Control-Allow-Origin: */"
  1. 点击劫持(Clickjacking)

    缺少X帧选项

    通用X-FRAME-OPTIONS响应头

    https://tools.ietf.org/html/rfc7034

1
Response.Headers != "/X-FRAME-OPTIONS/ "

​ 缺少内容安全政策

​ 国会CSP响应头

1
RESPONSEHEADERS != /Content-Security-Policy/

​ 内容安全策略头中主要是与frame-ancestors相关的细分

  1. 寻找潜在的SSRF /开放重定向

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 根据响应头
Response.Headers == "(Location)"

# 根据参数名称
Request.Query == "(url(.*)=)" || Request.URL == "(url(.*)=)"
|| Request.Query == "(uri(.*)=)" || Request.URL == "(uri(.*)=)"
|| Request.Query == "(path(.*)=)" || Request.URL == "(path(.*)=)"
|| Request.Query == "(href(.*)=)" || Request.URL == "(href(.*)=)"
|| Request.Query == "(redirect(.*)=)" || Request.URL == "(redirect(.*)=)"


# 寻找参数中的图片
Request.Query == "(img(.*)=)" || Request.HasParams == "(img(.*)=)"
|| Request.Query == "(pic(.*)=)" || Request.HasParams == "(pic(.*)=)"
|| Request.Query == "(\.png)" || Request.HasParams == "(\.png)"
|| Request.Query == "(\.jpg)" || Request.HasParams== "(\.jpg)"
|| Request.Query == "(\.gif)" || Request.HasParams == "(\.gif)"
  1. JSONP调用

1
2
3
4
5
6
# 基于参数
Request.HasParams == "(callback(.*)=)" || Request.Query == "(callback(.*)=)" || Request.HasGetParam == "(callback(.*)=)" || Request.HasPostParam == "(callback(.*)=)"

# 基于响应特征
HTTP记录量大时容易长耗时
Response.Headers == "(.+\(\[(.*)\]\))" && Response.Headers == "application\"json"
  1. 寻找潜在的XXE

1
2
3
4
5
6
# 根据 content-type
Request.Headers == "application\"xml" || Request.Headers == "text\"xml" ||
Request.Headers == "Content-Type: application\"xml"

# 根据 POST 参数
Request.HasPostParam == "<\?xml version="1\."
  1. 编辑器

1
RESPONSE == /ueditor/
  1. RPO相对路径重构

1
RESPONSE == /=\.\.\//
  1. 潜在越权点

1
2
3
4
# 基于参数名称
Request.HasParams == "(_id(.*)=)" || Request.Query == "(_id(.*)=)" ||
Request.HasParams == "(id(.*)=)" || Request.Query == "(id(.*)=)" ||
Request.HasParams == "((I|i)(D|d)(.*)=)" || Request.Query == "((I|i)(D|d)(.*)=)"
  1. 其他敏感参数

1
2
3
4
Request.Query == "(sql(.*)=)" || Request.Headers == "(sql(.*)=)" ||
Request.Query == "(exec(.*)=)" || Request.Headers == "(exec(.*)=)" ||
Request.Query == "(script(.*)=)" || Request.Headers == "(script(.*)=)" ||
Request.Query == "(src(.*)=)" || Request.Headers == "(src(.*)=)"

logger++规则库参考链接:

https://www.itcodemonkey.com/article/14521.html

http://wp.blkstone.me/2019/04/burp-suite-logger-filter-rules/

0x15 HTTPS-muggler

15.1 介绍

Burp Suite扩展,可帮助渗透测试人员使用多种技术绕过WAF或测试其有效性

https://portswigger.net/web-security/request-smuggling

15.2 下载

https://github.com/nccgroup/BurpSuiteHTTPSmuggler/releases

15.3 安装

在burp extender模块加载插件 ,与之前的插件安装类似,将下载来下的插件jar包复制到burpsuite的插件文件夹中,然后再burp suite的extender模块去导入jar包即可。

15.4 使用

AppSec EU 18-example1

AppSec EU 18-example2

0x16 Passive Scan Client

16.1 介绍

被动扫描流量转发插件

16.2 下载

https://github.com/c0ny1/passive-scan-client

16.3 安装

16.4 使用

  1. 访问靶机,点击插件的 run 就可以了

  1. 结合被动扫描插件使用

    a.开启插件

    b. 选择一个扫描器,我这里用的长亭的,将代理设置为插件的地址和端口

    c.访问网站

    ps:扫描器可自行选择

0x17 burpFakeIP

17.1 介绍

burpFakeIP是一个可以伪造IP的插件,在渗透测试的过程中,通常可能会对某个参数进行爆破,但是却很容易被封ip,所以可以通过这款插件来配合爆破,效果极佳。

17.2 下载

https://github.com/TheKingOfDuck/burpFakeIP

17.3 安装

需要选择python

17.4 使用

4个小功能

  • 伪造指定ip
  • 伪造本地ip
  • 伪造随机ip
  • 随机ip爆破

17.4.1 伪造指定ip

Repeater模块右键选择fakeIp菜单,然后点击inputIP功能,然后输入指定的ip:

img

img

程序会自动添加所有可伪造得字段到请求头中。

17.4.2 伪造本地ip

Repeater模块右键选择fakeIp菜单,然后点击127.0.0.1功能:

img

17.4.3 伪造随机ip

Repeater模块右键选择fakeIp菜单,然后点击randomIP功能:

img

17.4.4 随机ip爆破

伪造随机ip爆破是本插件最核心的功能。

将数据包发送到Intruder模块,在Positions中切换Attack typePitchfork模式,选择好有效的伪造字段,以及需要爆破的字段:

img

按照箭头顺序将Payload来源设置为Extensin-generated,并设置负载伪fakeIpPayloads,然后设置第二个变量。 img

img

点击Start attack开始爆破.

img

如上图,实现每次爆破都使用不同的伪ip进行,避免被ban。

PS:伪造随机ip爆破的先决条件可以伪造ip绕过服务器限制。

0x18 burp-requests

18.1 介绍

我们在测试中,经常会和python打交道,在众多python的http库中,requests可以说是最常用也是最强大的库之一,burp是咱们作为测试人员的必备工具,通常在写脚本时会使用burp对请求进行分析和获取,如果一个一个的http请求转换为python requests所需要的格式会很浪费时间,本文介绍一款burp的插件,可以较为方便的解决burp http请求转换成python reuqest语法的问题。

18.2 下载

18.3 安装

在burpsuite的菜单中,依次打开以下标签页: Extender –> Extensions –> Add –> Extensions (java) –> Select file ... –> 选择burp-reuqests.jar –> 打开 –> Next

img

burpsuite未报错且插件Loaded选框为状态即为成功安装插件。

img


18.4 使用

18.4.1 测试插件-GET请求

我们将浏览器代理为burpsuite,并随便访问一个网站,在burpsuite 的history中我们可以看到这些请求,随意选择一个GET请求(下图以百度为例),此时我们右击这个请求,会看到多出一个选项Copy as requests with sessions object

img

此时,该请求的requests代码就已经在我们计算机的剪切板中了,新建一个py文件,粘贴剪切板中的内容,可以看到url,cookies,headers等信息均以python代码的形式出现在了文件中。

1
import requestssession = requests.session()burp0_url = "https://www.baidu.com:443/"burp0_cookies = {"BIDUPSID": "7CC26EBFD6802E2A4AC1B163AD75FEFF", "PSTM": "1573294553", "BAIDUID": "4CCEE830A7653893A75E4457D4B0BB8D:FG=1", "COOKIE_SESSION": "2419884_0_1_0_4_0_0_0_0_1_1_1_0_0_7_0_1574174625_0_1576594502%7C2%230_0_1576594502%7C1"}burp0_headers = {"Connection": "close", "Upgrade-Insecure-Requests": "1", "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9"}session.get(burp0_url, headers=burp0_headers, cookies=burp0_cookies)

18.4.2 测试get请求

我们稍加修改,执行它,可以看到该文件可以正常执行,并获得相应的结果:

img


18.4.3 测试插件-POST请求

和上文中get请求类似,我们随机找一个post请求,并Copy as requests with sessions object新建文件并粘贴内容

img

我们可以得到该请求的python代码,并且post请求中的post_data值也已经自动获取到。

1
import requestssession = requests.session()burp0_url = "http://cloud.browser.360.cn:80/site/info"burp0_cookies = {"__huid": "11Q%2Faey9fzew6pD192wxTHIrdaru37mJCPBVKqAcJEYPM%3D", "__guid": "132730903.587148537627938600.1573292002647.415"}burp0_headers = {"Content-Type": "multipart/form-data; boundary=---------------------------7dd0d75e2f94cd", "User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 QIHU 360EE", "Accept-Encoding": "gzip, deflate", "Accept-Language": "zh-CN,zh;q=0.9", "Connection": "close"}burp0_data = "-----------------------------7dd0d75e2f94cd\r\nContent-Disposition: form-data; name=\"rn\"\r\n\r\n801842\r\n-----------------------------7dd0d75e2f94cd\r\nContent-Disposition: form-data; name=\"sitedata\"\r\n\r\n6312485741464d525416575d551f1365\r\n-----------------------------7dd0d75e2f94cd--\r\n\r\n"session.post(burp0_url, headers=burp0_headers, cookies=burp0_cookies, data=burp0_data)

18.4.4 测试post请求

我们稍加修改,执行它,可以看到该文件可以正常执行,并获得相应的结果:

img


文章作者: madcoding
文章链接: https://www.mad-coding.cn/2019/10/04/burpsuite常用插件推荐与使用/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 madcoding’s blog
打赏
  • 微信
  • 支付宝

评论
目录
  1. 1. 0x00 前言
  2. 2. 0x01 Active Scan++
    1. 2.1. 1.1 介绍
    2. 2.2. 1.2 下载
    3. 2.3. 1.3 安装
    4. 2.4. 1.4 使用
  3. 3. 0x02 AutoRepeater
    1. 3.1. 2.1 介绍
      1. 3.1.1. 【AutoRepeater特点】
    2. 3.2. 2.2 下载
    3. 3.3. 2.3 安装
    4. 3.4. 2.4 使用
      1. 3.4.1. 2.4.1 功能介绍
      2. 3.4.2. 2.4.2 使用注意事项
      3. 3.4.3. 2.4.3 AutoRepeater替换规则举例
    5. 3.5. 2.5 参考
  4. 4. 0x03 jsEncrypter
    1. 4.1. 3.1 介绍
    2. 4.2. 3.2 jsEncrypter下载
    3. 4.3. 3.3 安装插件
    4. 4.4. 3.4 jsEncrypter插件使用
      1. 4.4.1. 3.4.1 运行靶机
      2. 4.4.2. 3.4.2 编写phantomJS运行脚本
      3. 4.4.3. 3.4.3 运行phantomJS并测试
      4. 4.4.4. 抓包暴力破解
  5. 5. 0x04 BurpBounty
    1. 5.1. 4.1 介绍
    2. 5.2. 4.2 下载
    3. 5.3. 4.3 安装
    4. 5.4. 4.4 使用
      1. 5.4.1. 4.4.1 基本使用
      2. 5.4.2. 4.4.2 高级使用
  6. 6. 0x05 JSBeautiful
    1. 6.1. 5.1 介绍
    2. 6.2. 5.2 下载
    3. 6.3. 5.3 安装
    4. 6.4. 5.4 使用
  7. 7. 0x06 Hackvertor
    1. 7.1. 6.1 介绍
    2. 7.2. 6.2 下载
    3. 7.3. 6.3 安装
    4. 7.4. 6.4 使用
      1. 7.4.1. 1.简单base64加密
      2. 7.4.2. 2.多层加密base64+md5
      3. 7.4.3.
      4. 7.4.4. 3.大致布局
    5. 7.5. 6.5 参考
  8. 8. 0x07 jsonBeautiful
    1. 8.1. 7.1 介绍
    2. 8.2. 7.2 下载
    3. 8.3. 7.3 安装
    4. 8.4. 7.4 使用
  9. 9. 0x08 J2EEscan
    1. 9.1. 8.1 介绍
      1. 9.1.1. 测试用例:
    2. 9.2. 8.2 下载
    3. 9.3. 8.3 安装
    4. 9.4. 8.4 使用
      1. 9.4.1. 8.4.1 搭建测试环境【S2-016]
      2. 9.4.2. 8.4.2 使用演示
      3. 9.4.3.
      4. 9.4.4. 8.4.3 注意事项
      5. 9.4.5.
    5. 9.5. 8.5 参考
  10. 10. 0x09 chunked-coding-converter
    1. 10.1. 9.1 介绍
    2. 10.2. 9.2 下载
    3. 10.3. 9.3 安装
    4. 10.4. 9.4 使用
    5. 10.5. 9.5 参考
  11. 11. 0x10 domain_hunter
    1. 11.1. 10.1 介绍
    2. 11.2. 10.2 下载
    3. 11.3. 10.3 安装
    4. 11.4. 10.4 使用
  12. 12. 0x11 HackBar
    1. 12.1. 11.1 介绍
    2. 12.2. 11.2 下载
    3. 12.3. 11.3 安装
    4. 12.4. 11.4 使用
  13. 13. 0x12 json-web-tokens
    1. 13.1. 12.1 介绍
    2. 13.2. 12.2 下载
    3. 13.3. 12.3 安装
    4. 13.4. 12.4 使用
  14. 14. 0x13 LFI scanner checks
    1. 14.1. 13.1 介绍
    2. 14.2. 13.2 下载
    3. 14.3. 13.3 安装
    4. 14.4. 13.4 使用
  15. 15. 0x14 logger++
    1. 15.1. 14.1 介绍
    2. 15.2. 14.2 下载
    3. 15.3. 14.3 安装
    4. 15.4. 14.4 使用
    5. 15.5. 14.5 规则库
      1. 15.5.1. 敏感信息内网IP
      2. 15.5.2. 敏感信息手机号
      3. 15.5.3. 敏感信息电子邮件
      4. 15.5.4. 敏感信息身份证号
      5. 15.5.5. 潜在的CORS配置不当
      6. 15.5.6. 点击劫持(Clickjacking)
      7. 15.5.7. 寻找潜在的SSRF /开放重定向
      8. 15.5.8. JSONP调用
      9. 15.5.9. 寻找潜在的XXE
      10. 15.5.10. 编辑器
      11. 15.5.11. RPO相对路径重构
      12. 15.5.12. 潜在越权点
      13. 15.5.13. 其他敏感参数
  16. 16. 0x15 HTTPS-muggler
    1. 16.1. 15.1 介绍
    2. 16.2. 15.2 下载
    3. 16.3. 15.3 安装
    4. 16.4. 15.4 使用
  17. 17. 0x16 Passive Scan Client
    1. 17.1. 16.1 介绍
    2. 17.2. 16.2 下载
    3. 17.3. 16.3 安装
    4. 17.4. 16.4 使用
  18. 18. 0x17 burpFakeIP
    1. 18.1. 17.1 介绍
    2. 18.2. 17.2 下载
    3. 18.3. 17.3 安装
    4. 18.4. 17.4 使用
      1. 18.4.1. 17.4.1 伪造指定ip
      2. 18.4.2. 17.4.2 伪造本地ip
      3. 18.4.3. 17.4.3 伪造随机ip
      4. 18.4.4. 17.4.4 随机ip爆破
  19. 19. 0x18 burp-requests
    1. 19.1. 18.1 介绍
    2. 19.2. 18.2 下载
    3. 19.3. 18.3 安装
    4. 19.4. 18.4 使用
      1. 19.4.1. 18.4.1 测试插件-GET请求
      2. 19.4.2. 18.4.2 测试get请求
      3. 19.4.3. 18.4.3 测试插件-POST请求
      4. 19.4.4. 18.4.4 测试post请求