前言
bambda是burpsuite profession 2023.10.3版本引入支持的通过编写自定义代码筛选http histroy特性,在之前的版本,http history通常使用设置模式筛选请求或响应,新的版本多出了Bambda mode,并且支持将已设置的规则转换为Bambda表达式
本篇文章就来学习一下如何使用bambda。
主要作用
1)更加灵活的过滤想要的请求数据
2)灵活进行替换请求内容
bambda主要有下面的几个主要接口:
ProxyHttpRequestResponse
ProxyWebSocketMessage
Utilities
logging
下面来看看这几个接口如何去使用
ProxyHttpRequestResponse
该接口主要用于处理burp代理的HTTP请求与响应,其常用的函数有下面的几种
查找具体的函数使用可以通过下面的链接:https://portswigger.github.io/burp-extensions-montoya-api/javadoc/burp/api/montoya/proxy/ProxyHttpRequestResponse.html
用法举例
获取请求参数
var mimeType = requestResponse.mimeType(); //获取请求的mimeType类型 var path = requestResponse.request().pathWithoutQuery().toLowerCase(); //获取请求路径 var methods = requestResponse.request().method(); //获取请求方法 String host = requestResponse.request().httpService().host(); //获取请求host头
ProxyWebSocketMessage接口
该接口主要用于处理ws相关的请求,主要方法如下
参考链接:ProxyWebSocketMessage (burp-extensions-montoya-api 2025.8 API)
用法举例
message.contains("openim.ws_msg_push_ack", false) //ws信息中是否包含openim.ws_msg_push_ack字段 int listerport = message.listenerPort(); //获取ws的端口 String payload = utilities().byteUtils().convertToString(message.payload().getBytes()); //获取ws的信息并转化为字符串
Utilities接口
用于数据转换的接口,主要方法有如:base64Utils()、htmlUtils()、randomUtils()等等。
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)