我的BurpSuite食用方法

0x0 前言

  用了好久低版本的Burp, 最近发现Burp有个全新的改动,所以重新配置一下,然后记录了自己的过程,就打算分享一下自己平时利用Burpsuite进行挖洞的一些技巧。

0x1 Burp安装与破解

访问官网直接下载Mac OS的安装版:https://portswigger.net/burp/releases,然后正常安装。

破解:

git clone https://github.com/TrojanAZhen/BurpSuitePro-2.1.git

在应用程序中找到burp,显示包内容,依次打开文件夹:Contents - java - app,然后将启动器burp-loader-x-Ai.jar移动到当前的app目录。

接着返回到Contents目录,编辑vmoptions.txt,末尾追加两行内容。

-noverify
-javaagent:burp-loader-x-Ai.jar

然后返回打开Burp即可,如果提示需要License,那么直接生成一个注册就行了。

然后点击manual,再粘贴Request和Response来激活就行了。

如果有能力请支持正版。

0x2 Burp 插件的选用

这里介绍几个我平时比较喜欢的插件:

0x2.1 Reflector

下载地址:https://github.com/elkokc/reflector

特点如下:

  • Highlighting of reflection in the response tab.
  • Test which symbols is allowed in this reflection.
  • Analyze of reflection context.
  • Content-Type whitelist.

通过设置Content-Type: text/html, 我们可以快速找到请求中的参数哪个被返回到回显的Body中,同时会进行一些特殊字符(<、'、"etc)的探测, 以用来快速定位可疑的XSS漏洞。

0x2.2 DOMXSSHilight

下载地址:https://github.com/sechacking/DOMXSSHilight

这个主要是定位一些Dom的sink, 可以辅助手工去dig dom xss。

0x2.3 U2C v0.8 by bit4

下载地址:https://github.com/bit4woo/u2c

这个小工具还有非常有用的,用于转换返回包的unicode为中文,效果杠杠的。

0x2.4 Hack Bar

下载地址:https://github.com/d3vilbug/HackBar

集成了多种漏洞类型的一些payload,测试的时候可以非常方便地使用

0x2.5 SSRF-King

下载地址:https://github.com/ethicalhackingplayground/ssrf-king

支持扫描和自动发现SSRF漏洞。

0x2.6 Autorize

下载地址: Bapp 里面就有

这个主要用于测试权限问题,可以自动发现不用授权的接口。

0x2.7 FastjsonScan

下载地址:https://github.com/zilong3033/fastjsonScan

这个插件算是比较全的检测fastjson的反序列化漏洞,这个检测机制是POST类型,且

Content-Type: application/json的请求。

0x2.8 BurpShiroPassiveScan

下载地址:https://github.com/pmiaowu/BurpShiroPassiveScan

这个插件可以用来自动检测Shiro+发现密钥,并且不依赖dnslog来检查,是相对而言比较好用的插件,毕竟Shiro依然是yyds。

0x2.9 Burp Bounty

下载地址:https://github.com/wagiro/BurpBounty

主要是提供可视化界面来代替花时间去写一些匹配关键字插件的功能,不过它的Pro版本有个功能叫smart scan,支持被动扫描+主动扫描,非pro版本不支持被动的时候直接去发包,但支持检测请求的时候的一些特征,比如我们有时候对一些方法需要重点关注下比如PUT方法的请求,还有就是一些敏感的端点也需要注意下,就可以用Burp Bounty来自定义profile做检测。

其实被动和主动,准确定义来说,被动应该是不会主动发包的,不过现在被动也可以理解成,被动获取到URL,然后对URL进行自动扫描。emmm。

profile参考: https://github.com/six2dez/burp-bounty-profiles

0x2.A HaE

下载地址:https://github.com/gh0stkey/HaE

用于高亮特征和定位敏感信息,关于配置文件可以直接使用官方提供的:https://gh0st.cn/HaE/

0x3 Burp 持久化配置

有很多时候,会发现我们重载burp的时候,第三方插件都没有自动启用,还有就是改动过的配置也没有保存。

比如我一般喜欢添加多个监听端口。

这个时候我们可以保存这个配置,然后打开/Users/xq17/.BurpSuite,参考里面的UserConfigPro.json配置然后复制这个配置改名为自己想要的配置文件UserConfigProNew.json,再进行编辑即可。

还有如果我们想重新加载burp的时候,默认启用配置好的插件,可以设置"loaded"属性为true。

然后我们burp重新加载的时候选择这个配置文件加载即可。

这样就可以不用每次都要重新配置一些选项了,这个我也是跟@达浪师傅学到的, orz。

0x4 浏览器代理配置

设置代理我一般采用的是SwitchyOmega,这里有几个默认配置,为了方便挖洞,我们需要更改下。

1.更改切换情景模式的时候默认会自动刷新的问题,要不然切换会丢失我们填写的表单内容。

修改: 选项->界面->其他设置->当更改情景模式时刷新当前标签(x)

2.设置快速切换按钮,一个是启动burp代理,一个是使用设置的系统代理,这样切换直接可以用快捷键option+shift+o进行切换,非常方便。

修改: 选项->界面->切换选项->快速切换

3.设置不代理的地址列表,来防止干扰。

0x5 实践例子

所谓知行合一,为了方便读者理解和检验该工作流的合理性,需要进行实践来佐证。

文章的话还是用靶场的例子比较好,方便复现实操来加深印象。

这里分享一个比较方便、Burp官方提供的一个在线靶场,可以用来测试各种漏洞,可以说非常适合我们平时写扫描器的时候来检验扫描器是否能正常工作。

地址: https://portswigger.net/web-security/dashboard

0x5.1 XSS 漏洞

反射型非DOM类型XSS:

开一个靶场:Reflected XSS into HTML context with nothing encoded

然后我们挂着代理,直接在打开的靶场执行一下搜索。

然后查看burp的issue activity就可以发现漏洞了。

这种反射型XSS非常好挖, 不过国内普遍都是低危,并不值钱, 越大的厂商越多这种洞。

反射型DOM XSS

开一个靶场:DOM XSS in document.write sink using source location.search

依然是挂着代理执行以下search,查看burp history

可以看到,存在sink点会被高亮为红色,查看插件的输出

然后返回头分析一下,很简单就可以发现是一个基于location.search的dom型XSS

目前来说Dom型XSS还是属于比较难实现自动扫描的类型,不过我自己想到了一些方法来测试,后面也会去尝试优化下burp的插件来方便自己的日常使用,欢迎师傅们分享下自己的挖DOM的姿势,据我所知,DOM XSS在SRC中还是被挖的比较多的。

0x5.2 SQL 注入漏洞

SQL注入一般来说属于比较危险的,所以一般都是采用active扫描,况且burp自带的SQL检测payload非常直接容易触发waf,故我一般不开被动去扫SQL注入。不过后面我会考虑深度定制一个辅助检测的插件,欢迎感兴趣的师傅找我一起探讨下。

开一个靶场:SQL injection UNION attack, determining the number of columns returned by the query

然后挂上Burp代理, 捕捉到可疑的请求,选中active scan。

然后回到Dashboard可以查看新开了active scan task.

从Logger可以看到开始进行了主动扫描,这个除了调用burp自带的规则,也会调用我们burp bounty插件定义的一些规则。

这种全量扫描的效率是比较慢的,大概要10来分钟扫描完一个请求,但是可以进行一些设置的优化来加快速度。

Dashoard 还可以修改默认的添加任务时候的行为,比如是否自动启动、启动的并发数。

等待扫描结束,可以查看相关的结果。

可以看到成功扫描到了SQL注入漏洞,Burp的判断方式也是非常不错的,通过简单探测方法,即一个'返回报错,两个''则返回正常,说明对单引号没处理好,可能存在注入,事实上这个参数的确存在注入。

0x5.3 SSRF 漏洞

SSRF一般来说都是可以出网的,特殊情况就需要自己去判断,比如不出网但有回显的,或者不出网没回显的,这些就没办法自己检测,下面来演示下用burp来挖掘出网的SSRF。

开一个靶场:Blind SSRF with out-of-band detection

burp设置好范围后,然后浏览网页,点一个check stock功能来触发burp的被动扫描。

可以看到SSRF-King插件可以成功扫描到到SSRF的漏洞。

0x5.4 文件包含||文件读取

开一个靶场:File path traversal, simple case

配置下Burp的live audit扫描规则, new live task。(这个会自动审计流经burp的流量)

配置扫描的漏洞类型和扫描速率:

插入点的设置优化,用来减少一些无谓的请求。

然后挂上代理浏览网站,等待扫描完成,查看结果就行了。

0x5.5 越权漏洞

这里没有很好的靶场,这里我以某个网站作为例子,这里假设我已经登录两个账户。

账户1:d0mxss11%27%5C222 高权限

账户2:hackboy 低权限

然后我们获取账户2的cookie,粘贴到Autorize的里面,也可以包括header头,比如有时候有些网站就会用x-token来鉴权而不是使用cookie。

然后可以设置好一些过滤,针对某些断点来请求。

然后我们用高权限账号去访问网站的各个功能。

这个时候我们就可以观察长度和status, 来判断是否存在越权漏洞了, 绿色一般代表是没有问题的。我们也可以浏览和对比3个请求的具体情况。

很明显就可以发现是没存在漏洞的。

0x5.6 Shiro 漏洞

靶场: Google Dork: Powered By JeeSite

然后浏览这些站点,可以适当访问下/a/login目录

首先是hae可以做Shiro的基础识别

然后我们也可以查看BurpShiroPassivescan的扫描效果。

后面就是正常的利用,可以尝试反序列回显命令执行之类的。(PS.请在授权的情况进行操作。)

0x5.7 fastjson 漏洞

最近有在研究这个,可以用vulhub来快速搭建。

靶场:

cd $(pwd)/vulhub/fastjson/1.2.47-rce
docker-compose up -d

然后我们构造一个post的请求包来触发扫描。

然后我们去查看FastjsonScan的结果。

可以看到是正常工作的。

0x6 总结

  我一直很反对炒冷饭写工具使用的文章,没想到自己这次破了例(ORZ,生活所迫,也写的并不好。),其实每个人都有自己的工作流,我的不一定合适你,可以拿来参考,然后找到最适合自己的配置,希望能给大家带来一点帮助吧。

0x7 参考链接

MacOS安装破解BurpSuite2021.5.1【持续更新

Burp Suite tutorial: IDOR vulnerability automation using Autorize and AutoRepeater (bug bounty)

点击收藏 | 23 关注 | 3
登录 后跟帖