返回介绍

13.2 接口调用遍历测试

发布于 2024-10-11 00:03:35 字数 3430 浏览 0 评论 0 收藏 0

13.2.1 测试原理和方法

Web 接口一般将常见的一些功能需求进行封装,通过传入不同的参数来获取数据或

者执行相应的功能,其中一个最常见的场景就是通过接口传入 id 参数,返回对应 id 的一些

信息。在安全测试中,我们可以使用 Burp

Suite 作为 HTTP 代理,记录所有请求和响应信

息,通过 Burp Suite 以登录后的状态对整站进行爬取,再使用过滤功能找到传入 id 参数的

HTTP 请求,然后通过 Intruder 对 id 参数进行遍历,看是否返回不同的响应信息。如果不同

的 id 值对应不同用户的信息,则说明存在漏洞。

13.2.2 测试过程

如图 13-6 所示,攻击者在测试前,使用 Brup Suite 的爬虫功能对网站进行爬取,然后

筛选出包含用户标识参数的请求(如 id、uid),对筛选后的每一个请求进行分析,判断

其是否包含敏感信息。如果包含敏感信息,则通过 Brup Suite 的 Intruder 设置用户标识参数

为变量来进行遍历,如果返回他人信息,则漏洞存在。

图 13-5 接口调用遍历测试流程图

步骤一:如图 13-6 所示,使用 Burp Suite 的爬虫功能,从重点关注的目录(一般为网

站根目录)开始爬取,在 HTTP history 选项卡中选中要开始爬取的项,单击鼠标右键,

选择“Spider from here”,爬取登录后的网站链接。

图 13-6 使用 Burp Suite 爬取网站根目录

如图 13-7 所示,爬取的结果会在 Target→Site map 中显示,在爬取完毕后,再使用 Burp Suite 的过滤功能筛选出带有 uid 参数的链接,没有包含 uid 字符串的 HTTP 请求会被隐藏起

来,不会在 HTTP history 中显示。

图 13-7 过滤出带有 uid 的请求

如图 13-8 所示,在请求中找到 uid 参数出现的位置。

图 13-8 定位 uid 参数的出现位置

步骤二:如图 13-9 所示,查看对应的 HTTP 请求的响应包中是否带有想要的信息。由

HTTP

请求的参数我们可以猜测到这个请求的功能,如

method

参数值为

video.getUserVideoRecordList,作用是获取对应 uid 的视频播放的历史记录,由响应内容

可以确定。

图 13-9 查看对应的请求和响应

HTTP 响应中包含一些敏感信息,如观看视频时的 ip 地址、视频 id、视频的标题等。

如图 13-9 所示,第一个 title 的值为 All Polished'"<\/img>,在浏览

器的 console 终端通过 document.write 函数解码输出后,得到 All Polished'"</img,如图 13-10

所示。

如图 13-11 所示,将 title 的值和视频历史播放记录进行比较,可以发现完全一致。

图 13-10 解码响应中的 title 值

图 13-11 与历史播放记录进行比较

步骤三:如图 13-12 所示,将 HTTP 请求发送到 Intruder,设置后四位数字为变量,进

行遍历测试。

图 13-12 发送到 Intruder

如图 13-13 所示,我们设置后四位数字为变量。

图 13-13 设置变量

如图 13-14 所示,设置 Payload 为 0000~9999 的数字。

图 13-14 设置 payload

设置完 Payload 后,单击“Start attack”按钮即可开始遍历测试。

步骤四:分析 Intruder 的测试结果,不存在对应的 uid 时,服务器会返回 code 为-201

的响应;存在时,返回的响应会包含"ip"(带双引号)这个字符串,以此来过滤出成功的

请求,如图 13-15 所示。

图 13-15 对 Interder 结果进行过滤

如图 13-16 所示,可以看到过滤后的请求,均是有播放记录的请求,确认存在接口调

用遍历测试漏洞。

图 13-16 确认漏洞

13.2.3 修复建议

在 Session 中存储当前用户的凭证或者 id,只有传入凭证或者 id 参数值与 Session 中的一

致才返回数据内容。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文