返回介绍

13.4 接口未授权访问 / 调用测试

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

13.4.1 测试原理和方法

在正常的业务中,敏感功能的接口需要对访问者的身份进行验证,验证后才允许调用

接口进行操作。如果敏感功能接口没有身份校验,那么攻击者无须登录或者验证即可调用

接口进行操作。在安全测试中,我们可以使用 Burp Suite 作为 HTTP 代理,在登录状态下记

录所有请求和响应信息,筛选出敏感功能、返回敏感数据的请求。在未登录的情况下,使

用浏览器访问对应敏感功能的请求,如果返回的数据与登录状态后的一致,则存在漏洞或

缺陷。

13.4.2 测试过程

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

MIME

Type 筛选出与接口相关的请求,对筛选后的每一个请求进行判断是否包含敏感信

息。如果包含敏感信息,则复制请求 URL 到未进行登录的浏览器进行访问,如果访问后返

回之前的敏感信息,则存在漏洞。

图 13-21 接口未授权访问测试流程图

步骤一:登录后使用 Burp

Suite 的爬虫功能,从重点关注的目录(一般为网站根目

录)开始爬取,在 HTTP

history 选项卡中选中要开始爬取的项,右键选择“Spider

from

here”。爬取的结果会在 Target→Site

map 中显示。如图 13-20 所示,在爬取完毕后,使用

Burp Suite 的 MIME type 过滤功能,筛选出接口相关的 HTTP 请求,重点关注 json、script、

xml、text MIME type 等。

图 13-22 对 MIME type 进行过滤

步骤二:如图 12-23 所示,对接口相关的请求进行查看,查看响应中是否包含想要的

敏感信息,如个人电话、IP 地址、兴趣爱好、网站历史记录、身份证、手机号、住址等信

息。

图 13-23 查找包含敏感信息的 HTTP 请求

通过查看响应包的具体信息,可以发现返回页面包含敏感信息,如 ip 地址、视频的历

史播放等信息,通过这些信息可以了解其位置及关注点。

步骤三:如图 13-24 所示,将完整的请求 URL 复制到未登录的浏览器中,查看能否访

问对应 URL 的内容。如果能够返回敏感信息,则说明漏洞存在;如果需要登录验证后才能

访问,则不存在该漏洞。

图 13-24 未登录状态下访问 URL

在未进行登录的浏览器上,能够直接返回对应 URL 的页面内容而无须验证其身份,则

该网站存在接口未授权访问的漏洞。

13.4.3 修复建议

(1)采用 Token 校验的方式,在 url 中添加一个 Token 参数,只有 Token 验证通过才返

回接口数据且 Token 使用一次后失效。

(2)在接口被调用时,后端对会话状态进行验证,如果已经登录,便返回接口数

据;如果未登录,则返回自定义的错误信息。

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

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

发布评论

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