BurpSuite中文网站 > 最新资讯 > BurpSuite怎么使用Match and Replace BurpSuite Match and Replace规则不生效怎么办
教程中心分类
BurpSuite怎么使用Match and Replace BurpSuite Match and Replace规则不生效怎么办
发布时间:2026/06/30 17:46:46

在进行接口测试、寻找系统漏洞或者重新加载登录状态的时候,经常会碰到这个功能怎么用以及规则为什么没反应的问题。这个功能表面上看起来好像只是把文字换掉,但是其实里面包含了很多东西,比如请求的发送方向、服务器返回的方向、匹配的具体位置、正则表达式是不是写对了,还有就是代理流量有没有真的走软件通过。如果规则写得对,软件就可以自动帮我们把头信息、Cookie、数据主体、返回内容都改掉;要是规则写错了,就会发现虽然把功能勾选上了,但是在抓包的记录里却一点变化都没有。

 

  一、BurpSuite中替换功能的使用

 

  这个功能的用处,就是在代理的流量经过软件的时候,让软件自己去找到指定的那些内容,然后再把它们换成新的内容。平常大家比较多用它来修改请求头,或者把Cookie统一换掉,也可以用来伪造浏览器标识、调整接口里面的参数,甚至还能用来换掉返回的内容,这样就比较好观察网页的变化了。

  1、找到配置的具体位置

 

  在比较新版本的软件里,大家可以先点击进入【Settings】设置,然后顺着找到【Tools】里面的【Proxy】,再找到【Match and replace rules】这一项。因为版本不一样,界面的位置可能有一点点差别,有的旧版本是在【Proxy】的相关设置页面里直接就能看到规则列表的。

 

  2、新建一条替换的规则

 

  点击【Add】按钮以后,有几个地方需要仔细看一下,就是规则在什么位置起作用、要匹配的内容是什么、想换成什么内容,还有需不需要用正则。比方说,要是想把请求头里的某一个浏览器标识换掉,那就得把类型选成和请求头相关的,可不能选成响应体或者请求体。

 

  3、通过抓包的结果来检查有没有成功

 

  把规则保存好了以后,得让浏览器或者其他工具的流量重新走一遍软件。这个时候不要只盯着网页看,最好是打开【Proxy】下面的【HTTP history】,把对应的请求点开,去看看请求的原文字或者返回的原文字是不是真的被换掉了。

 

  二、规则没有效果的时候该怎么办

 

  要是发现替换功能没有效果,大家先别急着觉得是软件本身坏了。其实很多时候,都是因为规则的类型选错了,或者写进去的匹配内容跟原文对不上,也有可能是正则写得不对,甚至流量根本就没从代理这边走。

  1、检查规则的类型是不是选错了

 

  大家最容易犯的错误,就是本来想改发送的请求,结果把规则加到返回的响应去了;或者本来想改数据主体,却选成了头信息。软件是按照位置来处理这些流量的,如果规则的类型没选对,就算把匹配内容写得一个字都不错,也是不会起作用的。

 

  2、检查匹配的内容和原文是不是完全一样

 

  普通匹配对字句的要求特别死,要是多了一个空格、少了一个换行,或者大小写没对上,都可能导致没办法匹配成功。尤其是头信息里经常有空格,比如冒号后面的空格,如果匹配的时候没写对,就可能换不掉。

 

  3、检查正则表达式是不是写得太宽泛或者太严了

 

  如果把正则打开了,就得按照正则的规矩来写。比如点号在正则里代表任意字符,要是想匹配一个普普通通的点号,就必须加上转义符号。像问号、加号、中括号这些符号也都是一样的,直接从网址或者参数里复制过来,很容易让正则误会。

 

  三、使用这个功能还要注意的细节

 

  这个替换功能虽然挺好用的,但也不是什么都能解决。它只能处理那些走软件代理的流量,而且替换也是在特定的阶段才会发生。在测试加密网页、接口签名、压缩过的返回内容、特定双向通信或者客户端直接连接的流量时,还要根据好几种不同的情况来判断。

  1、确认流量是不是真的走软件过了

 

  要是浏览器的代理没有设好,或者有的客户端根本不走系统代理,那这个功能肯定是用不起来的。大家可以先去【HTTP history】里找找,看看有没有对应的请求。要是历史记录里连这条流量都找不到,那就不是规则的问题了,是代理根本就没有连上。

 

  如果是加密的网站,还要确认软件的证书是不是已经安装并且设置信任了。要不然浏览器可能直接就把访问给拦截了,或者软件内部不接受这个代理证书,这就会让人以为是规则没生效,但其实请求根本就没进到软件的处理流程里面去。

 

  2、注意接口的签名和校验的逻辑

 

  有的接口会对里面的参数、头信息、时间戳或者数据主体做签名校验。如果你用这个功能把请求内容改了,但是签名没有跟着一起算一起改,服务器收到以后就会返回签名错、没权限或者参数不对这些结果。这种情况其实规则已经起作用了,只是把原来的校验给破坏了。

 

  3、注意返回内容的压缩和编码

 

  要是想替换返回的内容,但是这些内容被压缩成了gzip或者br格式,又或者是被前端的脚本动态弄出来的,那直接去改Raw响应可能就看不到网页有什么变化。大家可以先看一下返回头里有没有Content-Encoding这一项,再想想软件现在显示的是解压后的样子,还是原来编码的样子。

 

总结

 

  我们在遇到“BurpSuite怎么使用Match and Replace,BurpSuite Match and Replace规则不生效怎么办”的时候,主要的办法就是先弄清楚“到底要改哪里的东西”,然后再去确认“规则到底有没有对上”。在用的时候,从设置或者代理配置里找到替换功能,新建了规则以后要把请求头、请求体或者返回内容的位置选对,接着用历史记录去检查替换的结果。把这些可能踩坑的地方一个一个排查过去,基本上就能知道到底是自己配置错了,还是流量没走对,或者是业务校验导致替换不成功了。

135 2431 0251