探索黑客技术攻防,实战研究与安全创新

导航菜单

危险的 Kangle Web Server服务器

在前几个月的时候,我公布了一个关于 Kangle  Web Server的源代码泄漏漏洞,Kangle Web Server的开发公司在收到我的漏洞报告后迅速修补了该安全漏洞,响应速度十分快速。同时,该公司向我提供了企业版的 Kangle Web Server,邀请我能够为他们的产品做一下安全测试,我欣然答应。在随后的测试中,我发现了新的安全漏洞,并且第一时间向 Kangle  Web Server的开发公司做了安全汇报,漏洞得到了对方的承认。现在,Kangle Web Server的版本已经升级到了  3.0。

为了能够与大家一起学习安全技术,我这里将这个新的漏洞发掘过程拿出来与大家一起分享,希望能让大家有所收获。

这一次新发现的安全漏洞属于一个非常典型的越权漏洞,该漏洞造成的直接后果是能够让攻击者下载到安装有 Kangle  Web Server的服务器上的任意文件,甚至可以利用该漏洞来遍历服务器上的文件目录。现在,我们就来看一看该漏洞时如何被我们发现的。

这里发现漏洞的    Kangle   Web  Server版本号为 1.1。我们在Windows系统下安装好该版本的   Kangle  Web Server,并运行该程序后。打开浏览器输入网址://127.0.0.1将会访问到    Kangle  WebServer的初始页面。此时,不要关闭浏览器,我们现在要对网址做一个小改变。我们在127.0.0.1的后面加上一段特殊编码的字符串“..%2F..%2F ..%2F ..%2F ..%2F ..%2F ..%2F boot.ini”。熟悉 ASCII编码的读者朋友们一眼就能看出这里我们输入的字符串其实就是“../../../../../../../boot.ini”。这里最为关键的内容就是这个“../”符号,它代表着上一层目录的意思,按照道理来说,Kangle Web Server在解析这个特殊符号时应当阻止用户利用该符号访问到  Web目录以外的内容,但是结果真的是这样吗?现在,让我们在浏览器中回车,如图1所示。

QQ截图20160909165824.png

看到了吗?此刻,浏览器竟然提醒我们下载文件,如果我们这里选择“打开”,你会发现浏览器下载到的文件就是服务器 C盘目录下的系统文件!这意味着,我们此刻已经跨越了 Kangle  Web Server所规定的 Web目录,访问到了  Web目录以外的内容!

利用“..%2F”符号,我们现在甚至可以对服务器进行目录遍历,如图 2所示

QQ截图20160909165854.png

虽然看起来这个漏洞似乎很好发现,但是,如果我们在漏洞挖掘过程中只是找着死板的思路,利用“  ../”来测试的话,你就会发现Kangle Web Server不会对“../”符号产生错误解析,它会阻止用户利用“../”符号来达到跨越目录的目的。而我们这里将“/”这个符号进行一定编码,将其转化为十六进制的  ASCII码表达式,这个时候,Kangle Web Server在解析时就发生了错误,从而造成了安全漏洞的出现。

最后,新版本的 Kangle  Web Server已经不存在该安全漏洞,我们这里主要是学习这个漏洞的挖掘思路,在以后面对  Web服务类型的软件时,可以参照这里的方法进行漏洞挖掘。

本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。

相关推荐