0x01 前言
当我们手工或自动测试时,经常会有以下这些问题:
目标程序不断终止会话,我们需要一次又一次地恢复会话 目标防止请求伪造,某些功能可能会使用必须随每个请求提供的新的Token 在测试特定功能时,需要执行一系列需要以相同顺序重复的操作,来完成测试。
我们在自动化的时候可以通过编写Python代码。然后使用 Burp 宏不仅可以自动化这个过程,而且可以使测试更加高效!因为它操作起来非常简单。
0x02 Burp Macros?
Brup 宏(Macros)是一个预先定义好的HTTP请求序列,这个序列中可以包含一个或多个HTTP请求。在Burpsuite的会话管理规则(Session Handling Rules)中使用宏,可以完成多种任务。
Project options->Sessions ->Macros
使用Burp 宏将使测试过程更加有效,并且可以显着减少在应用程序中自动化复杂功能的时间。
Burp 宏在实战当中中有何用处?
0x03 Burp 宏及其组件
Sessions具有三个组件,它们协同工作帮助你进行自动化。
三个组成:
会话处理规则 .帮助您定义Burp执行的每个会话的规则和范围 Cookie Jar .用于存储被访问网站发布的所有 cookie Macros .定义每个会话中要遵循的步骤顺序。
参考以下链接以获取这三个组件的详细说明
https://portswigger.net/burp/documentation/desktop/options/sessions#session-handling-rules
0x04 演示 Burp 宏
使用Portswigger 实验室
https://portswigger.net/web-security/logic-flaws/examples/lab-logic-flaws-infinite-money
会提供一个购物网站在其购买流程中存在逻辑漏洞,我们需要利用它从用户帐户中使用凭证wiener:peter购买皮夹克。
我们使用Burp宏来测试漏洞
在Details选择Add ->Run a Macro
Macros会从的代理历史记录中挑选请求。对于这种情况,使用 Ctrl和左键单击从代理历史记录中包含以下顺序请求:
POST /cart POST /cart/coupon POST /cart/checkout GET /cart/order-confirmation?order-confirmed=true POST /gift-card 出现新对话框。在定义“custom parameter”,输入gift-card并移动请求以找到礼券代码并选择它。
这将为我们的帐户增加信用。接下来就是测试我们的宏是否正确运行。在宏编辑器屏幕上,单击测试宏进行检查。
当宏测试完成后,我们可以看到结果。
0x05 Null Payload
我们需要向网站发送Null Payload
Null Payload?生成空字符串的payloads,当需要重复发出相同的请求而不修改基本模板时使用。用于收集 cookie 以进行排序分析、拒绝服务攻击... ...
Proxy ->HTTP History ->GET /my-account把请求发送到Intruder
选择有效负载类型为空有效负载,因为此有效负载的值为Null Payload,我们将有效负载设置为412,而Burp宏会自动化。
开始攻击
攻击完成后,将夹克添加到购物车并下订单。成功使用Burp 宏利用逻辑漏洞
0x05 结尾
这个宏的用途还有很多,我们使用搜索引擎就可以搜索到!不断分享证明我还活着。天妒英才,晨勃不在!