Burp Suite从入门到精通
简介
Burp Suite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们能更好的完成对web应用的渗透测试。Burp Suite允许测试人员结合手工和自动技术去枚举、分析、攻击Web应用程序。
特点:
- 跨平台( Java语言编写)
- 海量插件(支持Java、Python、Ruby)
- 联动其它工具(sqlmap、Xray等)
- 需要手工配置一些参数触发自动化流程
程序界面:
各版本区别:
社区版功能最少,不支持扫描模块和插件等,专业版支持;企业版功能最多,它提供了一个自动扫描器,支持定期扫描
专业版和企业版详细区别:https://portswigger.net/burp/enterprise/resources/enterprise-edition-vs-professional
基本组件用法
Proxy组件
主要进行HTTP请求/响应拦截、 修改和代理转发。拦截所有在客户端和服务端之间传输的数据。
- 客户端需要配置代理:
127.0.0.1:8080(Burp默认监听) - Proxy组件默认不拦截图片、js、css等静态文件请求
- 直接修改数据包、通过右键或点击Action进行其它操作
- 默认只拦截请求,不拦截响应
拦截所有响应的设置方法:Proxy settings -> Response interception rules
拦截指定请求的响应:右键/Action -> Do Intercept -> Reponse to this request
Dashboard组件
主要用作任务管理(扫描任务创建、暂停、停止),事件日志记录,问题展示等。
- Burp Suite默认会对经过Proxy组件的HTTP请求进行被动扫描。
- Tasks显示扫描任务(默认显示被动扫描情况)和审计任务情况
红色->表示高危漏洞,橙色->表示中危漏洞,蓝色->表示低危漏洞,灰色->表示提示信息
Target组件
主要记录被测目标目录结构、参数和问题,设置Burp的拦截范围,URL和路径等。
如有时候只想拦截被测目标的请求忽略其他请求就可以在Target scope的Include in scope中添加目标,排除目标就在Exclude from scope中添加排除目标。
Repeater组件
主要是手工对HTTP请求数据进行修改和重放,对HTTP响应数据进行人工分析。可通过Ctrl+R发送到Repeater组件。
在这个组件中可以直接修改HTTP请求,切换到Hex视图等,右键调出内置功能,包括扫描、发送到其他组件、调用插件、改变HTTP请求方法、改变Body编码、以及进行URL编解码、HTLM编解码和Base64编解码等。
Intruder组件
主要用来自动化测试,如模糊测试、参数枚举、Web漏洞Fuzz和口令暴破等。Burp Suite内置4种攻击类型,19种Payload类型和47组Payload。
- 至少需要标记一个自动测试位置,选择要测试的参数后点击添加(支持自动添加:
Auto) - 设置Payload,以及对Payload的操作,如Hash、添加前缀、添加后缀、编码等,默认启动对特殊字符的url编码,按需设置
- 根据测试场景选择对应的攻击模式(如模糊测试、参数枚举等通常使用
Sniper,用户名密码暴破通常使用cluster bomb)
攻击类型和说明:Pitchfork和cluster bomb每个标记位置都需要一组Payload。
Payload类型和说明:
使用场景
暴力破解401认证,如Tomcat:
暴力破解或Fuzz:
通过状态码、长度、错误、超时等进行筛选,查看响应验证是否成功
Decoder组件
主要用于各种编码解码和Hash计算等,如URL编码解码、Base64编码解码、MD5、SHA计算等。
Sequencer组件
主要用于分析数据随机性,通常用来测试应用程序的session tokens(会话tokens)或其他重要数据项的随机性,如CSRF tokens,密码重置tokens等。
1.Live capture 实时捕获
Manual load手动加载
可以从Repeter或其他位置发送到该组件,然后进行随机性分析,如Cookie随机性分析:
Comparer组件
提供一个可视化的差异比对功能,通过比对分析两次数据之间等区别,支持单词和字节方式。
单词对比:
字节对比:
Collaborator组件
主要提供一DNSLog平台,通过DNS请求来检测无回显(没有在Response显示Payload执行结果)的漏洞。
如无回显命令注入:
Extensions组件
主要用于插件安装和导入,以及插件所需Python环境和Ruby环境配置等。插件有两种安装方式:
- 通过Bapp Store安装
- 通过外部导入
配置Python环境:
安装自定义插件:
通过BApp Store安装插件:
插件使用
一些插件
|插件名称|地址|说明|
|-|-|-|
|BurpCustomizer|https://github.com/CoreyD97/BurpCustomizer|Burp自定义主题|
|HaE|https://github.com/gh0stkey/HaE|请求高亮标记与信息提取|
|BurpAPIFinder|https://github.com/shuanx/BurpAPIFinder|信息收集插件集成了HaE、APIKit和sweetPotato|
|OneScan|https://github.com/vaycore/OneScan|递归目录扫描的BurpSuite插件|
|RouteVulScan|https://github.com/F6JO/RouteVulScan|递归式被动检测脆弱路径的burp插件|
|TProxer|https://github.com/ethicalhackingplayground/TProxer|用于自动查找基于反向代理路径的 SSRF 的过程|
|BurpJSLinkFinder|https://github.com/InitRoot/BurpJSLinkFinder|用于对端点链接的 JS 文件进行被动扫描|
|BurpFingerPrint|https://github.com/shuanx/BurpFingerPrint|BurpSuite插件集成Ehole指纹库并进行常见OA弱口令爆破插件|
|domain_hunter_pro|https://github.com/bit4woo/domain_hunter_pro|domain_hunter的高级版本,SRC挖洞、HW打点之必备!自动化资产收集;快速Title获取;外部工具联动;等等|
|JsonDetect|https://github.com/a1phaboy/JsonDetect|用于检测 json 的 burp 扩展器,包括 fastjson、jackson、gson|
|BurpSuite_403Bypasser|https://github.com/sting8k/BurpSuite_403Bypasser|绕过 403 限制目录|
|ShiroScan|https://github.com/Daybr4ak/ShiroScan|burp插件 ShiroScan 主要用于框架、无dnslog key检测|
|BurpShiroPassiveScan|https://github.com/pmiaowu/BurpShiroPassiveScan|被动式shiro检测插件|
|fastjson-check|https://github.com/bigsizeme/fastjson-check|fastjson 被动扫描、不出网payload生成|
|BurpFastJsonScan|https://github.com/pmiaowu/BurpFastJsonScan|fstjson反序列化被动扫描|
|fastjson-exp|https://github.com/amaz1ngday/fastjson-exp|fastjson利用,支持tomcat、spring回显,哥斯拉内存马;回显利用链为dhcp、ibatis、c3p0|
|Struts2-RCE|https://github.com/prakharathreya/Struts2-RCE|Struts2漏洞扫描|
|SpringScan|https://github.com/metaStor/SpringScan|SpringScan 漏洞检测 Burp插件|
|inql|https://github.com/doyensec/inql|用于高级 GraphQL 测试,提供直观的漏洞检测、可定制的扫描和无缝的 Burp 集成|
|captcha-killer|https://github.com/c0ny1/captcha-killer|验证码识别|
|NEW_xp_CAPTCHA|https://github.com/smxiazi/NEW_xp_CAPTCHA|xp_CAPTCHA(瞎跑 白嫖版) burp 验证码 识别 burp插件|
|log4j2burpscanner|https://github.com/f0ng/log4j2burpscanner|Log4j2漏洞扫描|
|Log4j2-CVE-2021-44228|https://github.com/jas502n/Log4j2-CVE-2021-44228|Log4j2 RCE 被动扫描插件|
|Log4j2Scan|https://github.com/whwlsfb/Log4j2Scan|Log4j2 RCE 被动扫描插件|
|Burp BountyPro|https://github.com/wagiro/BurpBounty|主动/被动扫描器|
|burp-text4shell|https://github.com/silentsignal/burp-text4shell|Text4Shell扫描插件|
|PowerScanner|https://github.com/usualwyy/PowerScanner|面向HW的红队半自动扫描器(Burp插件),适合有经验的渗透测试人员。误报率高!!!所有报告结果需经手动手动确认。|
|BurpBountyPlus|https://github.com/ggg4566/BurpBountyPlus|在BurpBounty的基础添加了右键菜单功能,添加支持了对单个数据包单个参数的漏洞扫描和fuzzer,打通渗透测试的最后一公里,提高效率。|
|Galaxy|https://github.com/outlaws-bai/Galaxy|自动解密被加密的报文,让你像测试明文一样简单|
|AES-Killer|https://github.com/Ebryx/AES-Killer|AES加解密插件|
|BurpCrypto|https://github.com/whwlsfb/BurpCrypto|支持多种加密算法(AES、RSA、DES)或直接执行JS代码的用于爆破前端加密的BurpSuite插件|
|U2C|https://github.com/bit4woo/u2c|Unicode编码转中文的burp插件|
|autoDecoder|https://github.com/f0ng/autoDecoder|根据自定义来达到对数据包的处理(适用于加解密、爆破等),类似mitmproxy,不同点在于经过了burp中转,在自动加解密的基础上,不影响APP、网站加解密正常逻辑等|
|passive-scan-client|https://github.com/c0ny1/passive-scan-client|burp联动xray被动扫描|
|JustC2file|https://github.com/Peithon/JustC2file|Malleable C2 Profiles生成器;可以通过Burp代理选中请求,生成Cobalt Strike的profile文件(CSprofile)|
|BurpSuiteHTTPSmuggler|https://github.com/nccgroup/BurpSuiteHTTPSmuggler|HTTP请求走私插件,绕过WAF|
|Charset_encoding-Burp|https://github.com/GuoKerS/Charset_encoding-Burp|利用字符集编码绕过waf的burpsuite插件|
|nuclei-burp-plugin|https://github.com/projectdiscovery/nuclei-burp-plugin|nuclei模板生成插件|
|sqlmap4burp++|https://github.com/c0ny1/sqlmap4burp-plus-plus|快速联动Burp和sqlmap|
|sql-sup|https://github.com/S9MF/sql-sup|实现参数溢出、垃圾数据、字典笛卡尔积|
|chunked-coding-converter|https://github.com/c0ny1/chunked-coding-converter|分块传输辅助插件|
|burpFakeIP|https://github.com/TheKingOfDuck/burpFakeIP|服务端配置错误情况下用于伪造ip地址进行测试的Burp Suite插件|
|burp-awesome-tls|https://github.com/sleeyax/burp-awesome-tls|Burp 扩展可逃避 TLS 指纹识别。绕过 WAF,欺骗任何浏览器|
有一个不错的项目精选了一些Burp插件:https://github.com/snoopysecurity/awesome-burp-extensions
HaE插件使用
HaE能够准确匹配并处理HTTP请求与响应报文(包含WebSocket),对匹配成功的内容进行有效的标记和信息抽取并高亮显示。
GitHub项目地址
添加自定义信息提取和高亮显示,如车辆VIN:
sqlmap4burp++插件使用
Burp与sqlmap联动插件,调用sqlmap进行SQL注入测试。
GitHub项目地址
使用方法:
右键 -> Extensions -> sqlmap4burp++ -> Send to sqlmap4burp++- 配置Python执行文件名称、sqlmap路径和参数
Burp Bounty Pro插件使用
Burp Bounty Pro改进了Burp内置的主动和被动扫描仪,具有高级和自定义的漏洞扫描配置文件。
- 内置大量扫描规则和配置文件,规则库较新
- 可以添加自己的漏洞配置文件
- 检测可能存在漏洞的参数、版本检测等
通过Options标签进行配置
在Dashboard标签查看扫描结果:
chunked-coding-converter插件使用
插件有4个功能:
- 编码请求body
- 解码请求body
- 配置
- 延时分块传输
配置支持:
- 指定分块长度
- 指定注释长度
- 指定作用组件
使用方法:
右键 --> Extensions --> Chunked coding converter x.x.x --> Config进行配置,可以设置分块长度,注释长度和作用组件
如选择Proxy,经过代理的所以数据都会使用配置的分块传输进行发送,用来绕过WAF等
- 手工直接编码或解码HTTP请求
Authz
此插件用于挖掘未授权访问漏洞,它会代替人工发送2次请求,第一次带Cookie,第二次不带Cookie,通过对比两次请求响应判断漏洞是否存在。使用比较简单,直接右键将Cookie有效的数据包发送到Authz插件,然后在Authz插件点击run即可。
Auth Analyzer
此插件用于挖掘越权漏洞,可对接口进行批量测试。通过BApp Store直接安装即可。
使用方法:
- 使用其他的浏览器登录低权限账号,并获取Token,发送至user1,在
Proxy组件点击Open browser打开内置浏览器,访问被测目标,使用Burp内置的浏览器登录高权限的账号获取token,添加新的Session。 - 点击
Analyzer Stopped按钮,使其变成Analyzer running。 - 在内置浏览器浏览高权限账户功能,插件中会显示结果
工具联动
Xray
方法一:浏览器 --> Burp --> Xray
Xray开启扫描监听:xray_windows_amd64.exe ws --listen 127.0.0.1:7777 --ho __datetime__.html
Burp设置上游代理为Xray监听地址和端口:
方法二:浏览器 --> Xray --> Burp
也可以使目标先经过Xray,配置Xray代理,将流量转发到Burp,灵活运用即可。
hfinger
方法一:浏览器 --> Burp --> hfinger
启动hfinger监听模式:hfinger -l 127.0.0.1:8888,Burp设置上游代理为hfinger监听地址和端口即可。
方法二:浏览器 --> hfinger --> Burp
启动hfinger监听模式:hfinger -l 127.0.0.1:8888 -p http://127.0.0.1:8080,浏览器设置代理为hfinger代理地址即可。
Tips
- 新版火狐会自动检测证书是否有效,设置Burp代理后每个https请求都需要手动继续访问,取消OCSP查询即可:
- 在Target组件中添加排除火狐的其他请求如
firefox.com,mozilla.com等没用,最好设置Include in scope而不是Exclude from scope
最后更新于 2026-08-14 「部分内容存在时效性,如有失效请留言反馈」
除注明外为 Hack All Sec 的博客 原创文章,转载请注明出处。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
Hack All Sec 的博客