You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Burp Intruder的payload处理环节实现字符串反转?

Burp Intruder添加全字符串反转Payload处理流程的解决方案

方法1:调用外部脚本(快速实现,无需扩展开发)

  • 第一步:新建一个Python脚本reverse_payload.py,写入如下代码:
# 读取输入的payload,反转后输出,避免多余换行
print(input()[::-1], end='')
  • 第二步:打开Burp Intruder的「Payloads」标签,找到「Payload Processing」模块,点击Add按钮
  • 第三步:在弹出的处理类型选择框中,选择「Invoke external process」,填入对应系统的执行命令:
    • Windows:python.exe 脚本存储的完整路径\reverse_payload.py
    • Mac/Linux:python3 /脚本存储的完整路径/reverse_payload.py
  • 第四步:调整处理器顺序,如果你需要先编码再反转,就把这个外部调用处理器拖拽到编码处理器的后方即可
  • 注意:需确保系统已安装Python,且执行命令中的Python路径和脚本路径正确,避免Burp调用失败。

方法2:自定义Burp扩展(适合高频使用场景)

如果你经常需要用到反转payload的功能,可以开发一个轻量扩展,注册为内置的payload处理器:

  • 新建扩展脚本payload_reverser.py,写入如下核心代码:
from burp import IBurpExtender, IIntruderPayloadProcessor

class BurpExtender(IBurpExtender, IIntruderPayloadProcessor):
    def registerExtenderCallbacks(self, callbacks):
        self._callbacks = callbacks
        self._helpers = callbacks.getHelpers()
        # 设置扩展名称
        callbacks.setExtensionName("Full Payload Reverser")
        # 注册Intruder payload处理器
        callbacks.registerIntruderPayloadProcessor(self)
    
    def getProcessorName(self):
        # 处理器在Burp菜单中显示的名称
        return "Reverse full payload string"
    
    def processPayload(self, currentPayload, originalPayload, baseValue):
        # 转换字节为字符串
        payload_str = self._helpers.bytesToString(currentPayload)
        # 反转字符串
        reversed_str = payload_str[::-1]
        # 转换回字节返回
        return self._helpers.stringToBytes(reversed_str)
  • 打开Burp的「Extender」标签,点击「Add」,选择扩展类型为Python,加载上述脚本即可。
  • 后续在Payload Processing的添加菜单中,就能直接选择名为Reverse full payload string的自定义处理器,无需再调用外部脚本。

说明:Burp自带的reverse substring功能仅支持固定偏移的子串反转,无法适配长度不固定的全payload反转需求,上述两种方法均支持任意长度的payload反转操作。

内容的提问来源于stack exchange,提问作者Power_tile

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:27:01