Burp Suite使用中的一些技巧

0x00 前言

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

大家都很熟悉工具的使用了,这里介绍几个技巧,欢迎大家补充

 

详细教程参考:

Burp Suite 说明书(开车版) 链接: https://pan.baidu.com/s/1tNTzSO1eKDtRg7-T0cdjVQ 提取码: 8un3 复制这段内容后打开百度网盘手机App,操作更方便哦

Burp Suite 实战指南

0x01 专业版激活问题

使用burp-loader-keygen.jar注册机激活

支持1.6-目前最新的都能使用该注册机激活

注意有人利用这个破解补丁添加后门传播病毒,后门分析帖子》》

原始注册机文件的MD5

burp-loader-keygen.jar MD5: A4A02E374695234412E2C66B0649B757

源文件MD5官网查看:
http://releases.portswigger.net

使用burp-loader-keygen.jar破解的,每次都需要在该工具上启动,或使用命令行启动java -Xbootclasspath/p:burp-loader-keygen.jar -jar burpsuite_pro.jar

激活步骤

  1. 首先打开burp-loader-keygen.jar

Burp Suite使用中的一些技巧

  1. 点击burp,将复制内容粘贴到Enter license key,点击next

Burp Suite使用中的一些技巧

  1. 点击Manual activation

Burp Suite使用中的一些技巧

  1. 复制2 中的内容

Burp Suite使用中的一些技巧

  1. 将复制内容粘贴到burp-loader-keygen.jar中的Activation Request,下方Activation Response会生成key,复制

Burp Suite使用中的一些技巧

  1. 回到burp,将复制内容粘贴到3中,点击next,激活成功

Burp Suite使用中的一些技巧Burp Suite使用中的一些技巧

0x02 中文显示乱码问题

User options –Display – HTTP Message Display – Change font…
选择一个中文的字体格式,调整显示字体大小

Burp Suite使用中的一些技巧

如果是Unicode编码,可以使用插件转换成中文

0x03 https网站导入证书

访问burp,127.0.0.1:8080 ,下载CA Certificate证书,将证书导入浏览器中

以Firefox 68为例 选项–隐私与安全–证书–查看证书–证书颁发机构–导入之前下载的cacert.der证书文件

0x04 移动端安装证书

在使用Burp代理分析移动设备应用通信的时候,会遇到使用SSL/TLS的应用,这时候就会因为证书验证不通过而无法抓包分析,这时候就需要在移动设备上安装证书,使其信任Burp代理

0x03中,在浏览器中打开证书颁发机构,找到PortSwigger CA文件,导出PortSwiggerCA.crt,复制到手机中导入

安卓手机

设置–更多设置–系统安全–加密与凭证–从存储设备安装

PS: 不同收集安装路径可能不一样,我这个是小米8的

模拟器安装证书

安装过程和上面差不多,之前碰到过一个问题,导入证书的时候证书文件是灰色的,解决方法:安卓模拟器安装证书问题

IPhone 设备

直接传到手机端安装证书,安装成功后,在设置 – 通用 – 描述文件 里可以看到证书

在设置 – 通用 –关于本机 – 证书信任设置中信息刚刚安装的证书

然后通过设置wifi代理,就可以进行抓包了

0x05 代理设置

BurpSuite的核心是代理Proxy,通常情况下使用BurpSuite的套路是:浏览器设置BurpSuite代理——>访问Web应用程序——>BurpSuite抓包分析

一般情况

一般情况下,直接设置浏览器的代理服务器为Burp即可,推荐浏览器插件SwitchyOmega,chrome和火狐中都有,设置好情景模式一键切换

代理链

在某些网络环境中,访问目标网站需要走代理。浏览器设置代理之后就不能再设置Brup代理,这种情况可以借助代理链

  1. upstream proxy servers

在该设置项中,可以设置多个上游代理服务器规则,满足规则的请求将被发送至相应的代理服务器。

User options – Connections – Upstream Proxy Servers

Burp Suite使用中的一些技巧

  1. SOCKS Proxy

与Upstream Proxy Servers的作用类似,SOCKS Proxy的功能也是将请求内容发送至相应的代理服务器。不同之处在于,SOCKS Proxy作用于TCP协议层,因此如果设置了该项,那么所有的请求数据都会被发送至SOCKS代理服务器

User options – Connections – SOCKS Proxy

Burp Suite使用中的一些技巧

不支持代理的客户端

有时候,我们想对电脑上的某客户端进行抓包分析,然而这个客户端并没有代理设置的功能,怎么办?如果直接设置系统代理当然也是可以的,但是这样一来所有程序的流量都要经过BurpSuite,一方面有可能影响非测试软件的使用;另一方面,BurpSuite中非测试软件的请求记录过多也影响我们的分析测试。

Proxifier能够为那些本身不能设置代理的软件设置SOCKS或者HTTPS代理(链)

软件使用略过

Proxy Servers和Profication Rules

Burp Suite使用中的一些技巧

点击工具栏第一个图标,打开Proxy Servers对话框。Proxy Servers对话框分为上下两部分,上半部分用于设置代理服务器,下半部分用于设置代理链。

代理服务器设置完成之后开始进行规则设置,点击工具栏第二个图标进入Proxification Rules对话框

点击Add添加规则即可

0x06 拦截响应包

很多时候,在测试验证码等认证漏洞的时候,只在前端验证,可以通过修改响应包中的值绕过验证

Proxy – Options – Intercept Server Responses 勾选启用

Burp Suite使用中的一些技巧

0x07 拦截指定url的请求响应包

请求包设置

Proxy – Options – Intercept Client Requests – Add

Burp Suite使用中的一些技巧

响应包设置

Proxy – Options – Intercept Server Responses – Add,同上图设置

0x08 匹配和自动替换cookie等

如盲打xss,接收到cookie后,需要在每个请求包中都替换cookie

Proxy – Options – Match and Replace – Add(增加其他自动替换同理,可以自动替换请求/响应内容,这里以cookie为例)

Burp Suite使用中的一些技巧

  1. 挖掘CORS漏洞时,自动添加 Origin: foo.example.org ,从HTTP history中筛选返回内容 Access-Control-Allow-Origin: foo.example.org
  2. 自动添加XFF头等伪造IP

0x09 Intruder模块匹配返回包内的中文

在使用Intruder模块进行爆破或fuzz的时候,一般都通过返回包的长度或者状态码来识别是否爆破成功,如果碰到状态码一样或者返回包长度都不同的情况,可以通过Intruder->Option->Grep-Match 进行返回包内容的匹配

匹配类型有简单字符串和正则比配

如果要匹配中文,需要将中文转换成十六进制,使用正则匹配的方式

Burp Suite使用中的一些技巧

0x10 生成csrf poc

对拦截的请求,右键

Burp Suite使用中的一些技巧

0x11 条件竞争漏洞测试

“竞争条件”发生在多个线程同时访问同一个共享代码、变量、文件等没有进行锁操作或者同步操作的场景中。

开发者在进行代码开发时常常倾向于认为代码会以线性的方式执行,而且他们忽视了并行服务器会并发执行多个线程,这就会导致意想不到的结果。

简单的说:本来你有100块钱,买一个商品要花100,你可以多开启多个线程去跑,有可能不止一个用户买成功

“竞争条件”漏洞有时很难通过黑盒/灰盒的方法来进行挖掘,因为这个漏洞很受环境因素的影响,比如网络延迟、服务器的处理能力等。一般都会通过对代码进行审计来发现此类问题

可以使用Burp的intruder功能来实现发送多个并发请求

将请求包发送至Intruder

Intruder – Payloads – Payload Stes

Payload type设置为NUll payloads

Payload Options 次数设置100次

Burp Suite使用中的一些技巧

Intruder – Options – Request Engine

线程数设置最大999 ,点击Start attack

Burp Suite使用中的一些技巧

0x12 交互式应用程序安全测试 IAST

主界面菜单项 burp - Burp Infiltrator

参考:https://www.hackingarticles.in/advance-web-application-testing-using-burpsuite/

0x13 点击劫持

主界面菜单项 burp - Burp Clickbandit

参考:https://www.hackingarticles.in/advance-web-application-testing-using-burpsuite/

0x14 DNSlog功能

Burp Collaborator是从Burp suite v1.6.15版本添加的新功能,也就是DNSlog,监控DNS解析记录和HTTP访问记录,在检测盲注类漏洞很好用,也可以借助第三方服务

这里引出两个概念,In-band attack与 out-band attack(带内与带外攻击),带内与带外的区别核心在于是否使用不同的通信通道。

  • 带内攻击
    在一次攻击当中,只有一条通道,属于in-band(带内)攻击。常规的web测试模型就是我们向目标发送payloads,然后分析目标返回的数据。
  • 带外攻击
    现在同一次攻击下,不止一条信道,则属于out-band(带外)攻击。与外部服务交互行为发生在一个payload提交到目标应用上,导致目标通过某个网络协议和一个外部的域名进行信息交互。和ssrf攻击类似,让目标与Collaborator交互

首先通过project options - misc - burp collaborator server - run health check 检查信道是否通畅

Burp Suite使用中的一些技巧

启用 主界面菜单项 burp - burp collaborator client 即可启用

点击Copy 头clipboard ,添加到payload中

Burp Suite使用中的一些技巧

带外信道根据不同场景一般用如下几类:

  1. burp 自带的 collaborator。主界面菜单项 burp - burp collaborator client 即可启用,可以在 project options - misc - burp collaborator server - run health check 检查信道是否通畅。无需第三方服务、不用注册,即开即用。由于我 burp 不离手,所以,这种带外信道方便、集成度高是它的最大优点,另外,burp 进行各类盲注(XXE、SQLi、CMDi 等等)的主动扫描时,也会用到 collaborator;
  2. 用脚本语言快速启用 web server。运行 python3 -m http.server 8653 或 php -S 0.0.0.0:8088 后,所有对它的 GET、HEAD 请求几类都能在日志中查看到。这种方式非常适用于攻击端与目标同在内网的场景,比如,无公网环境的 CTF 竞赛。不支持 POST 是它最大的短板;
  3. 借助第三方服务(http://ceye.io/、http://requestbin.net/)。效果上,类似第二种方式,但支持 DNS 查询、HTTP POST 方法,此外,由于这是长期有效的服务,所以,很适用于那些非实时触发的带外访问请求(如,二次 SQLi)。你可以隔两三天再去看有无访问记录。

0x15 插件(非BApp Store中的插件)

burp中除了BApp Store,还有很多好用的第三方插件,这里手机了一些比较好用也是我自己使用的插件,也欢迎留言推荐其他好用的插件以及burp使用的技巧

  • HackBar ,火狐的hackbar插件收费了,几个替代品都不怎么好用,这个插件功能比火狐的多且强大
  • reCAPTCHA自动识别图形验证码并用于burp intruder爆破模块的插件
  • knife增加了几个右键菜单,更新cookie、更新header,集成hackbar、sqlmap、u2c(将unicode转换成中文)
  • domain_hunter 域名收集
  • HTTPHeadModifer修改header头,伪造源IP、UA、添加Origin、更新cookie
  • chunked-coding-converter 安全客有一篇文章《利用分块传输吊打所有WAF》
  • jsEncrypter加密传输爆破

0x16 参考

  • 【技术分享】BurpSuite 代理设置的小技巧
  • Advance Web Application Testing using Burpsuite

发布者:常山赵子龙,转载请注明出处:https://www.qztxs.com/archives/science/technology/11686

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年6月1日 下午5:39
下一篇 2022年6月1日 下午5:48

相关推荐

  • OpenCV识别滑块验证码缺口

    我们在利用爬虫采集数据时经常会碰到滑块验证码,下面我将通过OpenCV来识别滑块的缺口坐标。 一、Python3安装OpenCV 安装opencv可以用pip3来安装,命令如下: pip3 install opencv-python 如果在安装时碰到错误,可以安装下下面几个东西。 pip3 install scikit-build pip3 install ...

    2022年5月7日
    18100
  • 真的痛,小小的IP,大大的耦合

    什么是耦合? 耦合,是架构中,本来不相干的代码、模块、服务、系统因为某些原因联系在一起,各自独立性差,影响则相互影响,变动则相互变动的一种架构状态。 感官上,怎么发现系统中的耦合? 作为技术人,每每在心中骂上下游,骂兄弟部门,“这个东西跟我有什么关系?为什么需要我来配合做这个事情?”。明明不应该联动,却要被动配合,就可能有潜在的耦合。 因为IP配置,导致上下...

    技术 2022年5月11日
    1700
  • 用uid分库,uname上的查询怎么办?

    用户中心是几乎每一个公司必备的基础服务,用户注册、登录、信息查询与修改都离不开用户中心。   当数据量越来越大时,需要多用户中心进行水平切分。最常见的水平切分方式,按照uid取模分库: 通过uid取模,将数据分布到多个数据库实例上去,提高服务实例个数,降低单库数据量,以达到扩容的目的。   水平切分之后: uid属性上的查询可以直接路由到库,如上图,假设访问...

    2022年5月12日
    6100
  • 洞态IAST 钉钉自动化告警闭环

    前言 洞态IAST上线有一段时间了,基于被动式IAST技术,高检出率和低误报率等特点,很好的集成到devops流程中,增加我们的效率,然而每次发现漏洞后没有及时查看导致漏洞处理上的滞后,这里通过钉钉群里机器人做自动化告警,使IAST使用上闭环起来   钉钉群聊机器人(这里可以使用飞书、企业微信等都可以的) 群里机器人文档:https://devel...

    2022年6月12日
    7500
  • 如何在12个小时,搞定日志监控?

    日志监控,是每个公司必须解决的一个问题。创业型公司,如何用半天的时间,搞定一个可扩展,通用的日志监控框架,是今天要聊的话题。   什么是日志监控? 关于日志,不同公司,情况不同: (1)A类公司:没有日志; (2)B类公司:有日志,只有用户说系统挂了,或者有bug的时候,才会登录到系统看看日志,大部分日志打印得对心所欲,缺乏组织性和系统性; 画外音:很多时候...

    2022年5月15日
    1800

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信