news 2026/4/22 21:52:32

Burp Bambdas过滤脚本:告别Settings模式,安全测试高效过滤杂包

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Burp Bambdas过滤脚本:告别Settings模式,安全测试高效过滤杂包

文章目录

  • 1 默认Settings模式过滤的3大劣势
  • 2 Bambdas(Script mode)的优势与版本说明
  • 3 Bambdas在安全测试的核心用途
  • 4 通用过滤范式脚本
  • 5 站点精准过滤
    • 5.1 国内站点
    • 5.2 国外站点
  • 6 脚本核心优势总结

1 默认Settings模式过滤的3大劣势

平时用Burp默认的Settings模式过滤,看似简单,实际有明显短板:

  • 规则死板:只能点选固定条件,像域名带路径、混合大小写、带参数的静态文件这类复杂场景,根本筛不准。
  • 逻辑受限:不支持“与、或、非”组合判断,想同时筛域名、状态码、排除静态资源,做不到。
  • 无法复用:换项目就得重新配,配置不能导出保存,效率低。

2 Bambdas(Script mode)的优势与版本说明

Bambdas即Script mode,是Burp Suite2023.10.3版本正式引入的轻量级脚本功能,基于Java语法,直接在Burp界面写代码自定义逻辑,不用装插件、不用搭开发环境。
官方定义:Bambdas是可复用的Java脚本,能精细调整Burp功能,用于自定义过滤、匹配替换、新增列等场景。
官方文档:https://portswigger.net/burp/documentation/desktop/extend-burp/bambdas

相比Settings模式,优势很明显:

  • 逻辑自由:支持if/for/异常处理,任何复杂过滤规则都能实现。
  • 精准灵活:域名、路径、参数、请求头、响应码全能控,大小写自动统一、带参静态文件也能精准排除。
  • 可配置可复用:脚本集中管理,能导出保存,换项目直接导入,一次写好长期用。
  • 无额外成本:内置功能,打开就能写,不占额外资源,运行流畅。

3 Bambdas在安全测试的核心用途

Bambdas主要用在3个场景,大幅提升测试效率:

  • 流量过滤:Proxy历史、站点地图、日志里,精准筛目标域名、状态码,排除静态文件、垃圾请求。
  • 自定义展示:给HTTP历史新增列,比如显示请求耗时、特定header,方便快速定位关键包。
  • 智能替换:自动修改请求/响应,比如批量删无用请求头、替换敏感参数,适配复杂测试场景。

而且在 Burpsuite 中编写 Bambdas 脚本自带代码提示,非常友好,便于上手。

凡是Burp默认功能做不到的流量处理,用Bambdas都能解决,是安全测试必备的效率工具。

4 通用过滤范式脚本

下面是通用Bambdas过滤脚本,所有配置集中在顶部,修改方便,覆盖域名、状态码、静态资源、请求方法过滤,适配90%以上测试场景。

需要添加子域名白名单、过滤资源请求等,可以自己随时修改,一个脚本方便管理;其他功能可自行拓展。

// 域名白名单(支持 * 通配符,留空数组 = 不限制所有站点)// 例子:{"*.edu.cn", "*.gov.cn", "target.com"}String[]allowedDomains={// 比如 "*.baidu.com"};// 配置保留的响应码(留空数组 = 不限制所有响应码)// 例子:{200, 302, 403, 404, 500}int[]allowedStatusCodes={// 比如 200};// 静态资源后缀(留空数组 = 不过滤静态资源)String[]staticExtensions={".js",".css",".png",".jpg",".jpeg",".gif",".ico",".woff",".woff2",".ttf",".svg",".map"};// 需要过滤的图片/静态资源 MIME 类型String[]blockedMimeTypes={"image/jpeg","image/jpg","image/png","image/gif","image/svg+xml","image/webp","image/x-icon"};// ==========================================================================booleanhasResp=requestResponse.hasResponse();// 域名过滤(支持通配符 *)if(allowedDomains.length>0){try{Stringhost=requestResponse.request().header("host").value().split(":")[0].toLowerCase();booleandomainMatch=false;for(Stringpattern:allowedDomains){pattern=pattern.toLowerCase();if(pattern.startsWith("*.")){Stringroot=pattern.substring(2);if(host.equals(root)||host.endsWith("."+root)){domainMatch=true;break;}}else{if(host.equals(pattern)){domainMatch=true;break;}}}if(!domainMatch)returnfalse;}catch(Exceptione){returnfalse;}}// 响应码过滤if(allowedStatusCodes.length>0){if(!hasResp)returnfalse;intcode=requestResponse.response().statusCode();booleancodeMatch=false;for(intc:allowedStatusCodes){if(code==c){codeMatch=true;break;}}if(!codeMatch)returnfalse;}// 新增:过滤 MIME 类型为图片的请求(无后缀图片也能拦截)if(hasResp){StringcontentType=requestResponse.response().header("Content-Type")!=null?requestResponse.response().header("Content-Type").value().toLowerCase():"";for(StringmimeType:blockedMimeTypes){if(contentType.contains(mimeType)){returnfalse;}}}// 静态资源过滤Stringurl=requestResponse.request().url().toString().toLowerCase();booleanisStatic=false;for(Stringext:staticExtensions){if(url.endsWith(ext)||url.contains(ext+"?")){isStatic=true;break;}}if(isStatic)returnfalse;// 请求方法过滤Stringmethod=requestResponse.request().method();if(method.equals("OPTIONS")||method.equals("HEAD")||method.equals("TRACE")||method.equals("CONNECT")){returnfalse;}returntrue;

以百度为示例,过滤前

操作步骤

先选择Script mode选项:

添加脚本:右上方可以点击保持、导入操作,点击Apply & close应用。


过滤后

5 站点精准过滤

5.1 国内站点

测试目标:某高校edu.cn站点,只保留200/403/404状态码,排除静态资源、垃圾请求。

  1. 打开Burp Proxy → HTTP history → 切换到Bambda mode。
  2. 复制上面脚本,修改allowedDomains为{"*.edu.cn"}allowedStatusCodes为{200,403,404}
  3. 点击运行,脚本自动生效:
    • 自动统一域名大小写,xxx.EDU.CN、Xxx.edu.cn都能匹配。
    • 精准筛edu.cn/admin/login、edu.cn/api/user等带路径的请求,不遗漏。
    • 自动排除.js?version=1、.css?m=2等带参静态文件。
    • 过滤OPTIONS/HEAD等垃圾方法,历史里只剩有效测试包。

5.2 国外站点

测试目标:某国外企业站点,只保留200状态码,排除所有静态资源。

  1. 脚本配置:allowedDomains留空(不限制域名),allowedStatusCodes={200},静态后缀默认。
  2. 运行后:自动保留所有站点200状态码请求,排除图片、样式、字体等静态文件。
  3. 优势:不用手动配多个规则,脚本自动处理所有复杂场景,跨项目直接复用。

6 脚本核心优势总结

  • 配置极强:所有参数集中顶部,改3个数组就能适配不同场景。
  • 精准稳定:支持通配符、大小写统一、异常捕获,不漏包、不误拦。
  • 通用高效:教育网、企业站、渗透测试通用,一次写好永久用。
  • 简单易学:Java基础语法,不用学复杂开发,复制就能改。

安全测试别再用死板的Settings模式,这个Bambdas通用脚本,能帮你快速过滤杂包,把时间花在漏洞挖掘上。

⚠️本博文所涉安全渗透测试技术、方法及案例,仅用于网络安全技术研究与合规性交流,旨在提升读者的安全防护意识与技术能力。任何个人或组织在使用相关内容前,必须获得目标网络 / 系统所有者的明确且书面授权,严禁用于未经授权的网络探测、漏洞利用、数据获取等非法行为。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 21:49:23

【案例题】知识点考试思路(基于新版考纲)

文章目录一、先看本质:案例题到底在考什么二、新版考纲下,案例题通常怎么命题1. 架构设计与架构模式2. 质量属性与架构评估3. 分布式与数据架构4. 系统建模与图形题5. 可靠性、安全与新热点三、案例题的典型出题结构1. 第一问:概念与基础识别…

作者头像 李华
网站建设 2026/4/22 21:47:16

C语言完美演绎8-15

/* 范例&#xff1a;8-15 */#include <stdio.h>void main(int totline, char *argv[]){int i;printf("totline接收了%d个参数\n", totline);/* 输出totline所接收的参数个数 */for (i 0; i < totline; i) /* 输出argv接收的各个参数内容 */printf("a…

作者头像 李华
网站建设 2026/4/22 21:46:19

统信UOS深度体验:它的内置文本编辑器,真的能替代VSCode写代码吗?

统信UOS内置文本编辑器深度评测&#xff1a;轻量级开发的边界探索 当开发者首次接触统信UOS操作系统时&#xff0c;一个关键问题往往浮现&#xff1a;这套国产操作系统的内置工具能否支撑专业工作流&#xff1f;特别是那个看似简单的"文本编辑器"&#xff0c;它真的能…

作者头像 李华
网站建设 2026/4/22 21:42:17

OpenBMC开发避坑指南:IPMI功能从编译到测试,我踩过的那些‘坑’

OpenBMC开发避坑指南&#xff1a;IPMI功能从编译到测试的实战经验 最近在为一个工业控制项目定制OpenBMC固件时&#xff0c;IPMI功能的集成过程让我踩了不少坑。本以为只是简单的配置开关&#xff0c;实际操作中却遇到了从编译系统到硬件接口的各种问题。这篇文章将分享我在rom…

作者头像 李华
网站建设 2026/4/22 21:40:45

Rust的匹配中的构建解析器

Rust语言以其安全性和高性能著称&#xff0c;而模式匹配&#xff08;Pattern Matching&#xff09;是其核心特性之一。在构建解析器时&#xff0c;Rust的匹配机制能够显著简化复杂逻辑的处理&#xff0c;让代码更清晰、更高效。解析器通常需要处理多种输入模式&#xff0c;例如…

作者头像 李华