老树开花 一个js函数引发的命案

Author:Yaseng〖www.yaseng.me〗
Team: HighSky〖www.uauc.net〗

wd排版太蛋疼了 添了几个小时 还是乱的 搞个 word 原版的下载地址吧

http://115.com/file/angz6lg6#老树开花-一个js函数引发的命案-《黑客防线》-三月刊文章.doc

http://115.com/file/dpz691z4#黑客防线2012-3月刊.pdf

很多网站系统把一些功能在客服端执行(javascript),而服务端没有相应的验证,从而被非法利用。本文就是一个js函数使用不当,导致网站以及整个服务器沦陷的案例。
前端漏洞挖掘

最新安全测试一个站 旁注扫出一个 www.xxx.com/Utility/UploadFile/FileList.asp

打开一看 貌似是一个n年前的老洞,如图一,利用iis解析漏洞的, 新建一个1.asp的目录

在上传图片木马,但是这个站补丁打了…..不过这个编辑器功能很强大,看能不能找到点其他可以利用的地方,习惯性的查看源码。看到一段Javascript,目测有猫腻

1
2
3
4
<input id="selFolder" lang="js" type="checkbox" name="selFolder" value="f
</pre>
<form action="" method="post" name="formList"><input id="rootFder" type="hidden" name="rootFder" value="/UpFile" />
<input id="fder" type="hidden" name="fder" value="/UpFile" />

还是目测fromList是浏览文件的表单fder则是需要浏览的文件夹,由transferFolder函数赋值,测试下这个函数是否可以传入任意浏览服务端文件夹,由于需要经常改代码,换了个opera浏览器,原来的transferFolder参数如下。
transferFolder(‘/UpFile/1’);

传入transferFolder(‘/Utility/UploadFile’); (这个目录绝对存在),

猛烈的点击…..悲剧了!!!什么都没有,实有不甘 ,继续目测之.


rootFder是根目录,而fder 是当前目录,这里需要人工修改,遂把/UpFile 改为/Utility

图二

改写

图三

再次猛烈点击,奇迹般的出现了

图四

如图四 ¥#&¥#@! 无比鸡动!!!,这个函数果然有鬼,接下来就是扩大战果。

JS**函数利用**

图五

整理一下思路, 如图五所示,编辑器可以重命名,通过transferFolder函数可以遍历整个网站目录文件,如果有权限还可以下载服务端的文件(有权限重命名),搞清此套程序的目录结构,如果是数据库access 直接下载数据文件,进后台再说 ,是 sql server 看1433能不能利用,干!!!!

为了搞清此套系统的目录结构,不久拿下一个和这个系统的其他网站的webshell,如图七。

在System\Config.asp 找到其配置

看到图七,我很欣慰,回到安全监测的那个站,通过transferFolder()这淫荡的函数,找到Config.asp

如图八 果断改为 txt 直接访问…………………..

图九

人品来了….如图九,神一般sa!!!!!接下来就是传说中1433 端口提权,毫无亮点安全监测完成….

后记

这个程序有多处致命漏洞,包括fck编辑器和以前的老漏洞,还有本文的js函数服务端缺乏验证导致服务端任意文件可下载 查看(有的无权限),网上使用的众多,我们程序猿除了需要注sql,编辑器等服务端的代码安全,也需要关注像javascript这样的前端语言,因为用户随意查看和修改前端的源码,这个更加危险!!!

笔者能力有限,文中难免有纰漏, 恐贻笑于大方之家,万望海涵…