来源:自学PHP网 时间:2015-04-17 13:02 作者: 阅读:次
[导读] 很多网站系统把一些功能在客服端执行(javascript),而服务端没有相应的验证,从而被非法利用。本文就是一个js函数使用不当,导致网站以及整个服务器沦陷的案例。 前端漏洞挖掘最新安...
很多网站系统把一些功能在客服端执行(javascript),而服务端没有相应的验证,从而被非法利用。本文就是一个js函数使用不当,导致网站以及整个服务器沦陷的案例。 前端漏洞挖掘 最新安全测试一个站 旁注扫出一个www.xxx.com/Utility/UploadFile/FileList.asp 图一 打开一看 貌似是一个n年前的老洞,如图一,利用iis解析漏洞的, 新建一个1.asp的目录 在上传图片木马,但是这个站补丁打了.....不过这个编辑器功能很强大,看能不能找到点其他可以利用的地方,习惯性的查看源码。看到一段Javascript,目测有猫腻。 <tr onMouseOver="menumouseover(this)" onMouseOut="menumouseout(this)"> <td><input name="selFolder" type="checkbox" id="selFolder" value="D:\website9\ www.2cto.com \UpFile\1" "> <a href="javascript:transferFolder('/UpFile/1');"> <img src="dir.gif" width="17" height="14" border="0" align="absmiddle">1</a> 这个是点击图一中的文件夹的js源码,爆出绝对路径,可能有用,然后又看到一个强大的js函数transferFolder(),经过测试这个函数是点击击编辑器中的文件夹js是向服务端发送需要浏览文件夹,然后asp服务器返回传回文件夹的文件列表,以浏览文件。 //改变当前文件夹 function transferFolder(f) { document.formList.fder.value=f document.formList.submit(); } 看transferFolder函数源码, 每个载入浏览器的HTML 文档都会成为Document 对象, 使我们可以从脚本中对HTML 页面中的所有元素进行访问。把传入的文件夹赋值给Document.formList用来操作formList表单,formList 和fder为何物? <form margin-bottom: 0; overflow:auto;" name="formList" method="post" action=""> <input name="rootFder" type="hidden" id="rootFder" value="/UpFile"> <input name="fder" type="hidden" id="fder" value="/UpFile"> 还是目测fromList是浏览文件的表单fder则是需要浏览的文件夹,由transferFolder函数赋值,测试下这个函数是否可以传入任意浏览服务端文件夹,由于需要经常改代码,换了个opera浏览器,原来的transferFolder参数如下。 transferFolder('/UpFile/1'); 传入transferFolder(‘/Utility/UploadFile’); (这个目录绝对存在), 猛烈的点击…..悲剧了!!!什么都没有,实有不甘,继续目测之. <input name="rootFder" type="hidden" id="rootFder" value="/UpFile"> <input name="fder" type="hidden" id="fder" value="/UpFile"> rootFder是根目录,而fder 是当前目录,这里需要人工修改,遂把/UpFile 改为/Utility 图二 改写 图三 再次猛烈点击,奇迹般的出现了 图四 如图四 ¥#*&¥#@!* 无比鸡动!!!,这个函数果然有鬼,接下来就是扩大战果。 JS函数利用 图五 整理一下思路, 如图五所示,编辑器可以重命名,通过transferFolder函数可以遍历整个网站目录文件,如果有权限还可以下载服务端的文件(有权限重命名),搞清此套程序的目录结构,如果是数据库access 直接下载数据文件,进后台再说,是sql server 看1433能不能利用,干!!!! 为了搞清此套系统的目录结构,不久拿下一个和这个系统的其他网站的webshell,如图七。 图六 在System\Config.asp 找到其配置 图七 看到图七,我很欣慰,回到安全监测的那个站,通过transferFolder()这淫荡的函数,找到Config.asp 图八 如图八 果断改为txt 直接访问………………….. 图九 人品来了….如图九,神一般sa!!!!!接下来就是传说中1433 端口提权,毫无亮点安全监测完成…. 后记 这个程序有多处致命漏洞,包括fck编辑器和以前的老漏洞,还有本文的js函数服务端缺乏验证导致服务端任意文件可下载 查看(有的无权限),网上使用的众多,我们程序猿除了需要注sql,编辑器等服务端的代码安全,也需要关注像javascript这样的前端语言,因为用户随意查看和修改前端的源码,这个更加危险!!! 笔者能力有限,文中难免有纰漏, 恐贻笑于大方之家,万望海涵… Author:Yaseng www.yaseng.me |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com