BurpSuite中文网站 > 热门推荐 > BurpSuite宏怎么录制 BurpSuite宏登录流程怎么复用
教程中心分类
BurpSuite宏怎么录制 BurpSuite宏登录流程怎么复用
发布时间:2026/04/21 16:30:36

  在Burp Suite里,宏本质上不是“录屏回放”,而是一组从Proxy历史记录里挑出来、按顺序执行的HTTP请求。PortSwigger官方文档写得很直接,宏通常用来处理登录、会话恢复和令牌更新这类需要重复走一遍的流程;而真正让宏在测试里自动生效的,不是宏本身,而是后面的Session handling rule。也就是说,先把宏录对,再把规则挂对,登录流程复用才会稳。

  一、BurpSuite宏怎么录制

 

  录制宏这件事,最容易错的不是入口找不到,而是把不必要的请求也一起塞进去了。Burp官方说明里写得很清楚,宏由Proxy history里的请求组成,所以更稳的做法通常是先在浏览器里完整走一遍目标流程,让请求都落到历史记录里,再回头挑出真正有用的那几条。宏编辑器的标准入口就是【Settings】【Sessions】【Macros】。

 

  1、先把目标流程手动走一遍

 

  先用Burp浏览器或你当前的代理浏览器把登录、跳转、令牌获取这些步骤完整做一遍,让相关请求出现在Proxy history里。因为官方已经说明,录宏时选的就是Proxy history里的项目,不是现场临时重新发起的抽象动作。

 

  2、再到【Settings】【Sessions】【Macros】里新建宏

 

  进入宏编辑器以后,点【Add】打开Macro Recorder。官方文档说明,这一步的作用就是从Proxy history列表里挑请求;如果历史记录还不全,也可以在这个阶段继续用Burp浏览器补请求。

 

  3、只选真正构成流程的请求

 

  登录宏不一定要把页面上所有资源请求都带进去。更实用的做法,是只保留真正影响登录状态的那几条,比如获取登录页、拿隐藏参数、提交凭证、跳转到账户页这类关键请求。官方虽然没有替你规定必须选哪几条,但它明确说明宏是“由请求序列组成”,所以请求越干净,后面越好复用。这个判断是顺着官方宏定义得出的实操用法。

 

  4、必要时用【Configure item】逐条调整

 

  宏加进编辑器以后,还可以选中单条请求再点【Configure item】。官方文档说明,这里可以编辑每个宏项的处理方式以及它们之间的依赖关系,所以像动态参数、令牌提取、某些请求头修正,通常都在这一步处理,而不是重新录一遍。

 

  二、BurpSuite宏登录流程怎么复用

 

  宏录好以后,并不会自己在Repeater、Intruder或其他工具里自动跑。真正让登录流程复用起来的,是Session handling rule。PortSwigger官方文档写得很明确,规则由两部分组成,一部分是Scope,也就是这条规则应用到哪些工具、哪些URL、哪些参数;另一部分是Actions,也就是当规则命中请求时,要执行哪些动作,其中就包括【Run a macro】和【Check whether the current session is valid】。

 

  1、先新建一条Session handling rule

 

  标准入口是【Settings】【Sessions】【Session handling rules】【Add】。官方文档说明,这里就是规则编辑器,后面所有复用行为都从这条规则里生效。

 

  2、先把Scope收准

 

  去【Scope】页签里选这条规则要作用到哪些工具和哪些URL。官方文档说明,规则是否触发,首先取决于Scope,所以如果你只是想让登录宏在Repeater或Intruder里复用,就不要把范围放得过大。

  3、需要自动续登录时,先加【Check session is valid】

 

  PortSwigger官方给了很明确的登录复用思路,先判断当前会话是否还有效,如果失效,再执行后续动作。也就是说,登录宏最稳的复用方式通常不是每次请求都硬跑一遍,而是先检查会话状态,再决定是否重登。

 

  4、会话失效后再挂【Run a macro】

 

  在Rule Actions里加【Run a macro】,让Burp在命中条件时执行你刚才录好的登录宏。官方文档把这个动作列成会话规则的标准能力之一,而登录维持的官方教程也明确说明,规则会在会话无效时运行宏来更新会话Cookie并重新登录。

 

  5、涉及CSRF时,把取token的请求也放进宏

 

  如果登录流程里有动态token,不要只录最后一条提交凭证的请求。PortSwigger官方专门用anti-CSRF token做过示例,说明正确做法是把获取token的响应和提交请求放进同一套会话处理逻辑里,再由宏去自动提取并替换。

 

  三、BurpSuite宏配置前先看什么

 

  很多宏之所以录了也不好用,不是功能不够,而是前面的准备没做对。更实用的办法,通常不是录完再试很多遍,而是先把登录失效特征、请求范围和调试手段先定下来。PortSwigger官方关于会话处理的文档里,已经把这些关键点都摆出来了。

 

  1、先找登录失效的判定特征

 

  在配置自动登录前,PortSwigger官方建议先识别“无效登录响应”长什么样,比如某段固定文本、某个页面特征或某种响应内容。因为后面的【Check session is valid】就是靠这个条件来判断要不要跑宏。

 

  2、再把宏里的请求数量压到刚好够用

 

  宏不是越完整越好,越长越容易受页面细节变化影响。更稳的做法,是只保留真正影响登录和令牌更新的关键请求,把无关静态资源和多余跳转尽量剔掉。这个做法是根据官方“宏由请求序列组成”的机制整理出来的实操顺序。

 

  3、出问题时先开Session handling tracer

 

  PortSwigger官方文档专门提到tracer会记录每一条经过会话规则处理的请求、对应执行了哪些规则和动作、以及请求在每一步被改成了什么样。宏复用失败时,这通常是最快的排查入口。

 

  4、扫描场景下先看是不是需要自己配规则

 

  官方文档还特别说明,Burp Scanner在爬取和crawl-driven auditing过程中会自动处理会话,常规扫描并不总是会按你手工配置的session handling rules走。也就是说,你在手工工具里用得很顺的宏规则,换到扫描场景时,先别想当然地认为它一定按同样方式生效。

  总结

 

  BurpSuite宏怎么录制,关键不是先打开宏编辑器,而是先把真实流程跑进Proxy history,再去【Settings】【Sessions】【Macros】里挑出最关键的请求并逐条配置。BurpSuite宏登录流程怎么复用,重点也不是宏录完就结束,而是要在Session handling rule里把Scope、会话有效性检查和【Run a macro】串起来。把登录失效特征、关键请求和tracer这几层先收顺,宏通常会比单纯重复发请求稳定得多。

135 2431 0251