[THM]上传漏洞

发布时间 2023-12-04 22:54:32作者: trymonoly

介绍

将文件上传到服务器的能力已成为我们与 Web 应用程序交互不可或缺的一部分。无论是社交媒体网站的个人资料图片、上传到云存储的报告,还是在 Github 上保存项目;文件上传功能的应用是无限的。

不幸的是,如果处理不当,文件上传也会在服务器中打开严重的漏洞。这可能会导致从相对较小的滋扰问题到任何事情;如果攻击者设法上传并执行 shell,则一直到完整的远程代码执行 (RCE)。通过不受限制地上传对服务器的访问(以及随意检索数据的能力),攻击者可以破坏或以其他方式更改现有内容 - 包括注入恶意网页,这会导致 XSS 或 CSRF 等更多漏洞。通过上传任意文件,攻击者还可能使用服务器来托管和/或提供非法内容,或泄露敏感信息。实际上,攻击者能够将他们选择的文件上传到您的服务器 - 没有限制 - 确实非常危险。

这个房间的目的是探讨由于文件上传处理不当(或不充分)而导致的一些漏洞。具体来说,我们将研究:

  • 覆盖服务器上的现有文件
  • 在服务器上上传和执行 Shell
  • 绕过客户端筛选
  • 绕过各种服务器端筛选
  • 欺骗内容类型验证检查

在尝试此房间中的内容之前,完成 Web枚举(或至少 Gobuster 部分)和什么是shell 房间将是一个好主意。

让我们开始吧

 

一般方法论(Web枚举中的Gobuster)

因此,我们在网站上有一个文件上传点。我们将如何利用它?

与任何类型的黑客攻击一样,枚举是关键。我们对环境了解得越多,我们就越能利用它。查看页面的源代码可以很好地查看是否应用了任何类型的客户端筛选。使用目录暴力破解程序(如 Gobuster)进行扫描通常有助于 Web 攻击,并且可能会显示文件上传到的位置;默认情况下,Gobuster 不再安装在 Kali 上,但可以使用 .使用 Burpsuite 拦截上传请求也会派上用场。Wappalyser 等浏览器扩展程序可以一目了然地提供有关您定位的网站的宝贵信息。