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

导航菜单

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

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

前端漏洞挖掘

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

图一


图片1.png

这个编辑器功能很强大,看能不能找到点其他可以利用的地方,习惯性的查看源码。看到一段Javascript,目测有猫腻。


tronMouseOver=menumouseover(this)onMouseOut=menumouseout(this)
tdinputname=selFoldertype=checkboxid=selFolder
value=D:\website9\www.xxx.com\UpFile\1
ahref=javascript:transferFolder(/UpFile/1);
imgsrc=dir.gifwidth=17height=14border=0
align=absmiddle1/a


这个是点击图一中的文件夹的js源码,爆出绝对路径,可能有用,然后又看到一个强大的j函数transferFolder(),经过测试这个函数是点击击编辑器中的文件夹js是向服务端发送需要浏览文件夹,然后asp服务器返回传回文件夹的文件列表,以浏览文件。


//改变当前文件夹
functiontransferFolder(f)
{
document.formList.fder.value=f
document.formList.submit();
}


看transferFolder函数源码,每个载入浏览器的HTML文档都会成为Document对象,使我们可以从脚本中对HTML页面中的所有元素进行访问。把传入的文件夹赋值给Document.formList用来操作formList表单,formList和fder为何物?


formmargin-bottom:0;overflow:auto;name=formListmethod=postaction=
inputname=rootFdertype=hiddenid=rootFdervalue=/UpFile
inputname=fdertype=hiddenid=fdervalue=/UpFile


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


transferFolder(/UpFile/1);


传入transferFolder(‘/Utility/UploadFile’);(这个目录绝对存在),猛烈的点击…..悲剧了!!什么都没有,欲罢而不能,继续目测之.inputname=rootFdertype=hiddenid=rootFdervalue=/UpFileinputname=fdertype=hiddenid=fdervalue=/UpFilerootFder是根目录,而fder是当前目录,这里需要人工修改,遂把/UpFile改为/Utility

图片2.png

改写

图片3.png

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

图片4.png

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

JS函数利用

图片5.png

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

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

图片6.png

在System\Config.asp找到其配置

图片7.png

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

图片8.png

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

图片9.png

总结

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

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

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

相关推荐