【JSRC小课堂】Web安全专题(二)逻辑漏洞的burpsuite插件开发

本期嘉宾:3stoneBrother,京东集团攻防与实验室安全工程师,业务蓝军负责人,熟悉Web渗透测试,长期致力于甲方Web业务安全方向攻击与防御研究。
?小课堂黑板报
上期我们谈到漏洞挖掘的基本思路,本期将继续和大家探讨,如何根据实际需求开发出提高安全测试效率的工具,以支持漏洞的挖掘。
目前业内不乏优秀的工具,CO2, Logger++, Autorize, XSS Validato都是不错的选择,但通用化的工具不能完全符合Web安全测试人员的特定需求。从实际业务的操作效率方面考虑,独立开发出适用实际业务的插件是必要的。
基于工具开发的基本思路,我们主要从开发环境配置、关键接口讲解和检测插件开发三个方面进行讲解。
基础知识:burpsuite
数据信息在用户端最终是希望展示给使用者的,需要进行明文展现,这种基于用户体验角度的考虑恰好为攻击者提供了机会,现阶段的攻击者更倾向于在用户端利用这类弱点进行攻击。
传统的安全防御设备和防御措施对逻辑漏洞的治理收效甚微,而且逻辑漏洞的种类相当丰富。在实际业务处理中,通用的逻辑漏洞解决方案往往效果不佳,但一个业务层抽象得来的模型,在其自身站点往往具有通用性。
例如,某个URL存在越权,可能该站点的其他URL也存在类似的问题。我们基于该URL的特征,自行独立开发出burpsuite插件,对该站点进行批量扫描,就能更全面的发现同类问题。
Step 1 独立开发环境配置
burpsuite插件的独立开发,需要在某个配置环境下进行。burpsuite支持Java、Python、Ruby三种语言的扩展,下面以python语言环境为例进行讲解。
burpsuite会在java环境下运行,涉及的数据库基本都是java语言的脚本。Python作为开发语言,想要调用Java库就需要借助Jython:
我们以MacOS为例,
代码运行: brew install jython
Jython环境的配置:
Extender-> options -> python Environment -> select file,导入已下载好的jython jar数据包(操作至下图所示即可)

Step 2 插件开发关键接口
? burpsuite插件的独立开发环境配置完毕,就需要关注到插件的接口。
?
? 下面重点讲几个关键接口的实例:
? 1. API
或通过以下链接进行查阅:
https://portswigger.net/burp/extender/api/index.html
2. IBurpExtender

4.IExtensionHelpers
IExtensionHelpers接口提供了插件编写扩展中常用的一些通用函数。 如:
IRequestInfo analyzeRequest(byte[] request)analyzeRequest函数
我们通过如上函数可以拿到请求的细节。

IHttpRequestResponse接口包含了每个请求和响应的细节,我们在brupsuite中的每个请求或者响应都是IHttpRequestResponse实例。通过getRequest()可以获取请求和响应的细节信息。


这里需要注意的是,如果我们没有注册,processHttpMessage方法是不会生效的。processHttpMessage是处理请求和响应包的必要插件。代码运行:
processHttpMessage(inttoolFlag,booean?messageIsRequest,?IHttpRequestResponse?messageInfo)

通过messageInfo这个参数,我们可以获取到request和response日志。

下图是个demo,我们在做渗透测试的过程中,会遇到目录字典不全的情况,我们可以将这个URI生成目录字典,为目录爆破做准备。

Step 3 逻辑漏洞检测插件开发
重点的开发接口实现完毕,我们就可以进入到具体的业务场景,例如开发出逻辑漏洞的检测插件,具体步骤如下:
确认哪些是有效的cookie值
a.在burpsuite中拦截数据包进行cookie值的获取(注:cookie指某些网站为了辨别用户身份而储存在用户本地终端上的数据)。
?
b.获取到cookie值,接着是遍历每个cookie,用单个cookie分别进行请求,根据响应的长度确定哪个cookie是有效cookie,代码运行参考下图:

?? 这样可以检测逻辑漏洞的插件的开发好啦。


??? 运行如下代码获取订单ID密文:

? 在burpsuite的检测思路小结:
? 1.遍历明文ID
? 2.对明文ID进行加密生成字典
? 3.利用burpsuite的爆破插件进行爆破。
遇到参数加密的情况并不可怕,既然是对称加密,那么我们一定可以在用户端获得密钥,通过对js代码进行分析往往就能够取得密钥。
获取参数列表
?
?? 若作为插件开发更改AES秘钥即可。
附: 逻辑漏洞检测插件推荐
?? ?Broken Access Control
Burplay/Multi Session Replay?- Burplay is a Burp Extension allowing for replaying any number of requests using same? modifications definition. Its main purpose is to aid in searching for? Privilege Escalation issues.
AuthMatrix?- AuthMatrix is a Burp Suite? extension that provides a simple way to test authorization in web? applications and web services.
Autorize?- Automatic authorization? enforcement detection extension for burp suite written in Jython developed ? by Barak Tawily in order to ease application security people work and? allow them perform an automatic authorization tests.
AutoRepeater?- Automated HTTP Request? Repeating With Burp Suite.
UUID issues for Burp Suite?- UUID issues for? Burp Suite.
Authz?- Burp plugin to test for? authorization flaws.
Paramalyzer?- Paramalyzer - Burp extension for parameter analysis of large-scale web application penetration tests.
?Q & A
Q : burpsuite 如何对App https抓包?
A : 挂上代理,访问http://burp,下载证书并导入手机,注意手机中只能导入.cer的证书。
小伙伴们
针对本期内容和小课堂课程
如果您有哪些问题和建议,欢迎微信后台留言交流。
也欢迎更多白帽子们加入 JSRC 安全小课堂。
小课堂开课 QQ 群:464465695
下期预告:
Web安全专题(三)Web漏洞的自动化信息收集
?往期相关技术分享回顾
关于漏洞
京东安全相关漏洞请提交至
https://security.jd.com/

关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675








京东安全应急响应中心
