定义开始和结束分隔符以提取数据(例如,隐藏的 token)
在此步骤中,你将配置刚刚添加的规则。我们将通过定义目标数据紧随其后的文本来告诉 Burp 要提取什么。这是通过使用开始和结束分隔符来完成的。
在本实验中,假设我们要从包含以下 HTML 片段的响应中提取一个 CSRF token:
<input type="hidden" name="csrf_token" value="a1b2c3d4e5f6g7h8i9j0" />
我们的目标是提取值 a1b2c3d4e5f6g7h8i9j0。
- 在上一步点击 "Add" 后,会出现一个 "Define extract grep" 对话框。如果它没有打开,请点击你添加的新规则以打开它。
- 工具会自动获取你发送到 Intruder 的原始请求的响应。你可以在底部的响应视图中看到它。
- 要定义提取,我们将指定一个开始和结束分隔符。最可靠的方法是使用 "Define start and end" 选项。
- 在响应中找到一个你想要提取的唯一文本片段。在我们的示例中,假设响应包含上述 HTML 片段。
- 在响应视图中,高亮显示你想要提取的值(例如,
a1b2c3d4e5f6g7h8i9j0)。
- "Start" 和 "End" 字段将自动填充。
- Start after expression 字段应包含目标数据紧随其前的文本。在我们的示例中,这将是
name="csrf_token" value="。
- End at delimiter 字段应包含目标数据紧随其后的文本。在我们的示例中,这将是
"。
- 点击 OK 保存规则。
你现在已经配置了一个规则,该规则将搜索每个响应中 name="csrf_token" value=" 和 " 之间的文本,并将其提取出来。