白帽故事 · 2023年8月13日 0

$2,100!更专业地打破403访问控制

背景介绍:

本文章重点介绍某白帽在遭遇 403 访问时的绕过方法以及如何在几分钟内获得 P1漏洞!😍 废话不多说,让我们开始吧!

关于 403 Forbidden:

打破访问控制从而允许未经授权的用户访问受限资源,通过利用此类漏洞,攻击者可以获得对敏感信息或系统的未授权访问。

在渗透过程中你可能会经常遇到对于 .htaccess、config.php 等敏感访问,服务器通常会返回 403 Forbidden。

file

根据 Mozilla 文档,HTTP 403 Forbidden 响应状态代码表示服务器理解请求但拒绝访问。

但是如果访问控制机制薄弱,攻击者就可以绕过安全控制并访问受限资源。

目标应用:

目标 Web 应用是一个物联网服务交付平台,提供各种物联网相关服务。像往常一样,通过 Dirbuster Wordlists 进行目录枚举,很快就找到一个返回 403 响应的站点。/Console 是我们进一步渗透的关键。

绕过 403:

403绕过包括HTTP verbs/methods Fuzzing、HTTP headers Fuzzing、Path Fuzzing等多种方式,本文重点介绍Path Fuzzing技术。(当然,403bypass的工具也有不少,也可参见:推荐3款403 Bypass工具)

Path Fuzzing:

假设 /path 被禁止访问:

可以尝试使用. 或 %2e:(如果访问被代理阻止,那么有可能存在绕过保护)。也可以尝试 %252e/path (双 URL 编码)

另外还可以尝试Unicode Bypass: /%ef%bc%8fpath

Other Path bypasses:

site.com/secret –> HTTP 403 Forbidden
site.com/SECRET –> HTTP 200 OK
site.com/secret/ –> HTTP 200 OK
site.com/secret/. –> HTTP 200 OK
site.com//secret// –> HTTP 200 OK
site.com/./secret/.. –> HTTP 200 OK
site.com/;/secret –> HTTP 200 OK
site.com/.;/secret –> HTTP 200 OK
site.com//;//secret –> HTTP 200 OK
site.com/secret.json –> HTTP 200 OK (ruby)

当然使用 Gil Nothmann 的 403 Bypasser 的 Burp 插件来自动化绕过也是很好的方式哈~

使用 Burp,捕获 /console 的 GET 请求,然后将请求发送到 403 Bypasser 的 Burp 插件。

使用 .(dot) 或 %2e 可以实现绕过,只需要在 Burp 插件中添加相应规则,然后每个请求前都会被加上 %2e,坐等控制台管理器的未授权访问吧!

目标的控制台管理器显示了非常敏感的组件数据,包括构建详细信息、操作系统详细信息和用户详细信息,还提供了用于代码执行的 CLI 组件。

漏洞报告很快被分类并定级为 P1,成功获得 2,100 美元的赏金奖励。

以上就是本文的全部内容,希望你们也能有所收获! Keep Learning~