了解最新技术文章
在本教程中,您将使用 Burp Repeater 一遍又一遍地发送有趣的请求。这使您可以研究目标网站对不同输入的响应,而不必每次都拦截请求。例如,这使得探测漏洞或确认 Burp Scanner 识别的漏洞变得更加简单。
要继续操作,您需要一个 帐户portswigger.net
。如果您还没有,可以免费注册,并授予您对网络安全学院的完全访问权限。
如果您尚未完成我们之前有关设置目标范围的教程,则需要先完成此操作才能继续。请参阅设置目标范围。
使用 Burp Repeater 最常见的方法是从 Burp 的另一个工具向其发送请求。在此示例中,我们将从 Burp 代理中的 HTTP 历史记录发送请求。
在上一个教程中,您浏览了一个虚假的购物网站。请注意,每次访问产品页面时,浏览器都会发送GET /product
带有productId
查询参数的请求。
让我们使用 Burp Repeater 来更仔细地观察这种行为。
右键单击任何请求GET /product?productId=[...]
并选择“发送到中继器”。
转至中继器选项卡,查看您的请求正在其自己的编号选项卡中等待您。
单击“发送”并查看来自服务器的响应。您可以根据需要多次重新发送此请求,并且每次都会更新响应。
通过每次使用不同的输入重新发送相同的请求,您可以识别并确认各种基于输入的漏洞。这是使用 Burp Suite 进行手动测试期间最常见的任务之一。
更改参数中的数字productId
并重新发送请求。尝试使用几个任意数字,包括几个较大的数字。
使用箭头来回浏览您发送的请求的历史记录及其匹配的响应。每个箭头旁边的下拉菜单还可以让您跳转到历史记录中的特定请求。
这对于返回您之前发送的请求以进一步调查特定输入非常有用。
比较响应的内容,请注意,您可以通过输入 ID 成功请求不同的产品页面,但Not Found
如果服务器无法找到具有给定 ID 的产品,则会收到响应。现在我们知道这个页面应该如何工作,我们可以使用 Burp Repeater 来查看它如何响应意外输入。
服务器似乎希望通过此productId
参数接收整数值。让我们看看如果我们发送不同的数据类型会发生什么。
发送另一个请求,其中productId
是字符串。
观察到发送非整数productId
导致了异常。服务器已发送包含堆栈跟踪的详细错误响应。
请注意,响应告诉您该网站正在使用 Apache Struts 框架 - 它甚至还显示了哪个版本。
在真实场景中,此类信息可能对攻击者有用,尤其是在已知指定版本包含其他漏洞的情况下。
返回 Burp 浏览器中的实验室,然后单击“提交解决方案”按钮。输入您在响应中发现的 Apache Struts 版本号 (2 2.3.31)。
恭喜,这是您手下的另一个实验室!您已使用 Burp Repeater 审核网站的部分内容并成功发现信息泄露漏洞。
上一篇:设定目标范围
下一篇:Crawling介绍