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 结尾
这个宏的用途还有很多,我们使用搜索引擎就可以搜索到!不断分享证明我还活着。天妒英才,晨勃不在!
本文始发于微信公众号(不懂安全的校长):自动化 - Burp 宏
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论