BurpSuite中文网站 > 热门推荐 > BurpSuite Match and Replace有什么用 BurpSuite Match and Replace规则怎么写
教程中心分类
BurpSuite Match and Replace有什么用 BurpSuite Match and Replace规则怎么写
发布时间:2026/01/23 17:39:18

  在排查接口签名、复现偶发请求、验证边界条件时,你经常需要在不改代码的前提下,临时改一改请求头、Cookie、参数或响应内容。围绕“BurpSuite Match and Replace有什么用,BurpSuite Match and Replace规则怎么写”,把它理解成一套可控的流量改写器更准确:先按匹配条件抓住目标流量,再按替换动作把内容改成你想要的样子,并且可以对不同工具链的流量分别生效。

 

  一、BurpSuite Match and Replace有什么用

 

  Match and Replace的价值不在于花哨,而在于把重复的手工改包变成可复用的规则,让你更快验证假设、缩短复现路径。使用前建议先明确要改的是请求还是响应、改的位置是头还是体、改完是否会影响签名与校验,这样规则写出来会更干净。

  1、批量改请求头,快速模拟不同客户端与环境

 

  你可以用规则把User-Agent、Accept-Language、X-Forwarded-For这类头统一替换,做到在【Proxy】里正常浏览时就自动带上指定标识,省掉每次去重放工具里手动加头的动作。对需要灰度标识、测试开关、地域标识的场景也同样适用。

 

  2、统一处理Cookie与Token,减少反复登录与拷贝粘贴

 

  当你需要把某个会话字段替换成固定值,或把旧Token替换成新Token时,规则可以对命中的请求自动改写。对于经常过期的字段,更稳妥的做法是只替换目标键值,避免把整段Cookie替换导致其他必要字段丢失。

 

  3、改URL与Host,做一键切换到测试环境或回源验证

 

  在做联调时常见需求是把线上域名切到预发或本地回源,你可以用规则匹配请求中的Host或目标URL片段,再替换为新域名与端口。这样浏览器正常操作即可完成整站切换,适合做回归与对照。

 

  4、按条件改请求参数,快速打边界与异常输入

 

  对某个参数做固定替换,比如把pageSize替换为更大值、把id替换为不存在的值、把开关位替换为特殊取值,能够让你在不改前端的情况下覆盖更多分支。配合限定范围,只对特定路径生效,能避免误伤其他接口。

 

  5、对响应做轻量改写,用来验证前端容错与分支展示

 

  在不改服务端的前提下,把响应体中的某个字段值改成另一种情况,比如把status改成error、把某个featureFlag改成false,可以快速观察前端是否按预期降级。需要注意的是,这类改写只影响你本机看到的响应,不等同于真实后端行为。

 

  二、BurpSuite Match and Replace规则怎么写

 

  规则写法的核心只有三件事:选对作用对象,写清匹配条件,控制替换范围。建议从最小可用规则开始,先让它在一条请求上生效,再逐步加精度与限制条件,避免一上来就写得很泛导致全站流量都被改。

 

  1、找到入口并确认规则开关已启用

 

  进入【Proxy】→【Proxy settings】→【Match and Replace】,先确认该功能区域可编辑且规则列表可见;如果有全局启用开关或规则启用勾选项,先确保目标规则处于启用状态,再开始验证是否命中。

 

  2、新建规则时先选类型,明确你要改哪里

 

  点击【Add】新增规则后,优先选择匹配类型,例如匹配请求头、匹配请求体、匹配响应头、匹配响应体、匹配URL;如果你要改Host与路径,优先走URL相关类型,如果你要改Cookie与自定义头,优先走请求头相关类型,这样命中逻辑更直观。

  3、用小而准的匹配串锁定目标,避免全局误替换

 

  在Match部分不要只写一个很短的公共词,尽量包含键名与边界,例如只想改某个Cookie键,就把匹配写成该键名加等号的片段,只想改某个JSON字段,就把匹配写成包含字段名与相邻符号的片段。范围越准,后续排错越省时间。

 

  4、需要灵活时用正则表达式Regex,并控制分组替换

 

  当目标值不固定或需要保留部分内容时,可以启用正则表达式Regex来匹配并用分组回填。写法上建议先把正则只用于捕获目标值,不要把整段内容都写成贪婪匹配,同时把替换结果设计为最小变更,保证你能一眼看出改了什么。

 

  5、把生效范围限定到你需要的工具与域名

 

  如果你的工作流同时用到浏览器代理、Repeater重放、Intruder跑字典,建议在规则配置里确认它对哪些工具生效,避免你只想改浏览器流量却连重放也被改导致对照失败。对只测一个站点的情况,优先配合【Target】里的作用域设置,让规则只影响范围内域名。

 

  6、按顺序管理多条规则,避免互相覆盖

 

  当你有多条规则时,要关注执行顺序与覆盖关系,先执行的规则可能改变后续规则的匹配条件。更稳妥的做法是把通用规则放后面,把精确规则放前面,并在规则命名里写清楚用途与目标路径,后续维护更不容易踩坑。

 

  三、BurpSuite规则调试与生效验证怎么做

 

  Match and Replace最常见的挫败感不是写不出来,而是写出来却不知道有没有命中、命中了改到哪里。把验证动作标准化,你会很快定位到是代理链路问题、范围限制问题、匹配不准确,还是被HTTPS解密与编码影响。

 

  1、先用一条可控请求做验证,再扩大到真实流程

 

  打开【Proxy】→【HTTP history】,在浏览器里触发一条最简单的目标请求,优先选择你能稳定复现的接口;对照请求详情确认原始内容包含你写的Match片段,再看实际发出的请求是否已被替换,避免一开始就拿复杂业务链路做验证。

 

  2、用Repeater做对照回放,确认改写是否符合预期

 

  把同一条请求发送到【Repeater】,一份保持不启用规则,一份启用规则再发送,通过响应差异判断替换是否真的影响了服务端行为。对需要签名的接口,如果启用规则后立刻签名失败,说明你改了参与签名的字段,需要同步调整签名计算或改成只改不参与签名的字段。

 

  3、遇到只看见CONNECT或HTTPS不解密时先处理证书信任

 

  如果你只能看到隧道连接而看不到具体URL与内容,Match and Replace很可能无从下手;先完成Burp CA证书的导入与信任,并确认HTTPS流量能在【HTTP history】里展开为具体请求与响应,再回到规则验证。

  4、关注编码与内容边界,避免替换后结构被破坏

 

  对JSON与表单内容,替换时要保持引号、逗号、分隔符完整;对响应体如果是压缩传输或包含特殊字符,替换可能导致前端解析失败。验证时不要只看页面是否打开,还要在【HTTP history】里对照响应体是否仍是合法结构。

 

  5、出现误命中时立刻收窄匹配条件并加范围限制

 

  当你发现不相关接口也被替换,第一步不是继续加规则,而是回到Match写法里把公共片段去掉,改成带键名、路径或更长上下文的匹配,并配合作用域限制只对目标域名与目标路径生效,直到误命中消失再继续扩展。

 

  总结

 

  围绕“BurpSuite Match and Replace有什么用,BurpSuite Match and Replace规则怎么写”,可以把它当成一套可控的流量改写机制:用在批量改头、切环境、替换Cookie与参数、模拟响应分支都很高效。写规则时先选对类型,再把匹配写准、范围收窄、顺序理清,最后用HTTP history与Repeater做对照验证,基本能把规则从能写出来变成稳定可复用。

读者也访问过这里:
135 2431 0251