打开一个页面,Burp Suite里可能同时出现接口调用、图片、脚本和第三方资源。记录一多,想找的请求反而不容易发现。有时刚调整过筛选条件,下一步操作产生的请求就“消失”了。判断请求是否缺失,要区分它是被隐藏、没有经过代理,还是没有写入历史记录。这几种情况处理方式不同,下面从筛选入口说起。
一、BurpSuite怎么筛选HTTP历史记录
HTTP历史记录位于Proxy工具中,记录经过Burp Proxy的HTTP流量。顶部过滤栏会概括当前显示条件,修改筛选前可以先看这里。
1、按目标范围缩小列表
①打开【Proxy】→【HTTP history】,找到目标站点的一条记录。
②右键选择【Add to scope】,将目标加入范围;若出现范围外流量记录提示,按本次测试需要选择。
③点击列表顶部过滤栏,在【Settings mode】的【Filter by request type】中,选择只显示范围内记录。
目标页面可能调用其他子域名上的接口。如果列表只剩页面请求、接口却不见了,需要检查范围是否包含相关主机。显示范围与是否记录范围外流量是两回事,不能只看过滤栏判断。
2、按响应类型和状态码筛选
①在过滤窗口中,通过【Filter by MIME type】选择需要查看的响应类型。
②使用【Filter by status code】缩小状态码范围,例如集中查看重定向或错误响应。
③在【Filter by file extension】中设置要显示或隐藏的扩展名。
查接口时,可以暂时减少图片、样式等资源的干扰。不过,接口路径未必带扩展名,返回内容也未必都是JSON。筛选后记录明显过少时,应逐项放宽条件,避免把需要的流量一起隐藏。
3、查找内容并区分监听端口
①在【Filter by search term】中填写响应内容关键词,需要时设置大小写或正则匹配。
②检查【Negative search】是否开启,确认当前是在保留匹配项还是排除匹配项。
③使用多个代理监听器时,通过【Filter by listener】选择对应端口。
④找到记录后,查看下方【Request】和【Response】,核对方法、路径、参数及响应内容。
这里的关键词过滤针对响应内容。只知道接口路径时,可以先根据列表中的Host、Method和URL列定位,不能因为响应里没有路径文字,就认定请求没有记录。
二、BurpSuite历史记录中缺少请求如何检查
先保留当前项目,再重复一次具体操作,例如提交表单或打开详情页。这样有明确的操作时间,也方便比较浏览器与Burp中的记录。
1、暂时关闭显示过滤
①在【HTTP history】中切换【Filter on】为【Filter off】,比较过滤前后的列表;旧版本可在过滤窗口中放宽条件。
②检查是否只显示有响应、有参数或带注释的记录。
③如果使用了【Script mode】,检查脚本是否排除了目标请求。
显示过滤不会删除已有记录。关闭过滤后重新出现,说明应调整显示条件;仍然找不到,再继续检查流量经过哪里。
2、确认浏览器确实经过当前代理
①进入【Proxy】→【Intercept】,点击【Open browser】,用Burp内置浏览器重复操作。
②使用外部浏览器时,打开【Settings】→【Tools】→【Proxy】,在【Proxy listeners】中核对监听地址、端口及运行状态。
③对照浏览器代理设置,检查代理地址、端口和绕过列表。
④查看【Intercept】中是否有请求等待处理,需要继续加载时点击【Forward】,或切换为【Intercept is off】。
关闭拦截不会关闭历史记录。拦截控制的是请求是否暂停等待处理,因此不能通过一直开启拦截来解决记录缺失。
3、检查是否停止了历史记录写入
①在代理设置的【Miscellaneous】中,检查【Don't send items to Proxy history or live tasks】。
②同时检查【Don't send items to Proxy history or live tasks,if out of scope】,核对目标是否在范围内。
③调整相关设置后重新触发操作,观察是否产生新记录。
这类设置影响是否记录流量。之前没有写入的数据,不会因为取消显示过滤而补回来,需要重新执行操作。
4、HTTPS页面正常,也要留意TLS透传
TLS透传会让连接经过Burp,但不解密其中的HTTP内容。因此,页面能够访问,不代表历史记录一定能显示请求和响应细节。
①在代理设置中打开【TLS pass through】,检查目标主机、端口是否匹配透传规则。
②查看是否启用了对范围外目标应用透传,以及TLS协商失败后自动加入透传列表的设置。
③对需要查看的测试流量,核实证书信任和连接情况,再调整对应规则并重新访问。
三、BurpSuite里找不到的流量还可能在哪里
HTTP历史记录不是Burp所有工具的统一收发清单。浏览器请求、工具重发请求和WebSocket消息,需要到对应位置查看。
1、工具重发请求到对应工具查看
①如果请求由【Repeater】发出,先在对应标签中查看请求和响应。
②需要汇总检查Burp工具或扩展产生的流量时,打开【Logger】,确认日志记录已开启,并检查其过滤条件。
在Repeater点击发送后,HTTP历史记录没有增加,不能单凭这一点判断发送失败。两处记录的来源不同,应以实际发送工具的结果为依据。
2、WebSocket消息查看独立历史记录
①页面建立WebSocket连接后,打开【Proxy】→【WebSockets history】。
②对照连接信息和消息方向,查找操作产生的数据。
例如,聊天页面加载时可能产生HTTP请求,后续聊天内容则通过WebSocket传输。此时反复刷新HTTP历史记录,也不会把后续消息变成普通HTTP条目。
总结
筛选HTTP历史记录时,先缩小目标范围,再结合响应类型、状态码和内容查找,通常比同时叠加许多限制更容易判断。发现请求缺失,先关闭显示过滤,再检查代理、记录选项和TLS透传;由其他工具发出或通过WebSocket传输的数据,则要换到对应位置查看。希望这些方法能帮助大家从杂乱记录中找到所需请求,也能分清“没有显示”和“没有记录”的区别。使用中如有相关需求,欢迎联系我们交流。
