白帽故事 · 2024年9月2日 0

IIS欢迎页的安全隐患:从源代码到LFI的攻防之道

file

相信这个页面大家很熟悉吧?看到此类页面,你会怎么做?让我们来看看国外小哥的做法,也许能给你带来一些启发。

首先使用 https://github.com/irsdl/IIS-ShortName-Scanner 进行IIS短路径的模糊测试,看是否存在短路径漏洞。

file

发现一些文件后,使用ffuf进行进一步的发现,然后就发现了一个EVOLUTION 的目录!

file

这个ChatEngine.svc 是开源的吗?经过简单的搜索,发现确实是开源的!

file

file

居然是一个10多年前的开源项目,那它的安全性也许就没有那么好了…

深入研究源代码,小哥发现了如下片段:

https://github.com/eStream/eStreamChat/blob/2417a12c0999609e3feedbf5281d07393b126c23/eStreamChat/Thumbnail.ashx.cs

file

查看源代码,在本例中是 img 参数,它采用参数“img”,并根据其值以两种不同的方式解析它,如果它在该参数的值中找到 UserFiles,它将尝试从直接连接服务器(LFI),因此可以使用路径遍历(LFI)轻松绕过(UserFiles/../wheredoyouwannago)

然而,通过分析可以发现响应并不是直接返回的,而是进入了 ResizeImage 函数,遗憾的是该函数不会接受我们尝试返回的数据类型,除非它是图像。

file

因此可以通过简单地访问该端点来过滤服务器上的图像或执行 SSRF 盲注。

file

在本地服务器上尝试 LFI 时,发现并不需要指定 UserData 路径:

file

file

你学废了么?

以上内容由骨哥翻译并整理。

原文:https://medium.com/@omarahmed_13016/iis-welcome-page-to-source-code-review-to-lfi-23ec581049f5