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

导航菜单

Web安全之xss挖掘利用——对ok3w的深入分析

好友的网站使用到了ok3w这套CMS系统,据说这套系统的代码很严谨,还可以方便的进行二次开发,看着他做好的网站,于是我就想检测一下其安全性如何。在检测之前,我先使用搜索引擎搜索了一下这套CMS,找到了很多分析其漏洞的文章,当然绝大多数都为转载,更雷人的是,官方针对这些漏洞也做出了回应。

我仔细的看了看,发现所提到的漏洞按照作者所述确实不能加以利用,在成功暴出数据库地址后,我们直接在浏览器中打开,返回结果因为程序开发者故意在数据库的“%=NoDwn%>”表中添加了“%@LANGUAOE=""CODEAGE="936"%><%@LAGUAGE=""CODEAGE="936"%>”的内容,这样就造成了解析错误,所以就如作者所说的那样,插入一句话木马后也是无法成功执行的。可能有的朋友会想到添加容错语句“On error Resme Next”等等,我也一一作了测试,但也都是无效的。看着官方的回应,感觉也未免太过绝对了,于是我再次对其分析了一下,下面就把对漏洞的探索与利用方法记录下来,与大家们分享。

QQ截图20170221153915.png

先搭建好测试平台,将ok3w的代码放到IIS的WEB目录里,再在Dreamweave中建立好站点,注入漏洞依旧是我们优先考虑的,从程序对数据的获取是否全面等就可以大概的猜测出程序员的安全意识。使用“request”作为关键词搜索了一下。客户端提交数据被myCdblO函数处理了,跟随了一下这个函数,发现其代码如下。


这个函数用来判断获取的变量类型,如果不是数字型数据则提示出错,看来注入的防范很到位,至于其它的就不用看了,估计不会有漏网之鱼的。来看看前台的跨站是如何产生的,能否换成其它的方法进行利用。程序用到了一个又一个的类,好不容易才找到获取数据的代码,如下:


可以看到程序确实没有对数据进行任何过滤,这下跨站漏洞就出现了,那么要如何利用呢?来看看后台都有什么功能,以管理员身份登录后台,发现有数据库备份功能,打开WsockExpert选中后台管理页面,然后进行备份,抓取到的数据将其整理到一个txt文件中,在最后发现了“ss=%2FDb%2FOk3w%234%23ASPACC.ASP&tt=fjhh.mdb&action=bacup&Sbmit=%CCo/eEl%BD%BB”,其中“ss=..%2FDb%2FOk3w%2346%23ASPACC.ASP”的ss的值就是数据库的相对地址,这里被编码了,而“tt=fjbh.mdb”就是备份的数据库名。

看到这里,思路也就清晰了,我们可以通过xss利用管理员的后台进行备份,将数据库备份成mdb格式,然后再将其下载。好了,下面我们就来构造利用代码。先直接在浏览器中访问“/AppCode/con.asp”,在暴出了数据库地址后将路径中的特殊符号等使用URL编码,然后再修改成如下的代码。

将以上代码保存成fjhh.js文件,我们可以将其上传到支持asp的空间中,这里我就在本地进行演示了,存放到WEB根目录下,在留言处发表留言,成功后就等着管理员登录后台了。

下面我们就以管理员身份登录,查看留言,很正常,没什么反应,但事实上数据库已经神不知鬼不觉的被备份了,查看文件属性与日志记录。 

数据库备份成功后我们就可以下载了,只要密码不是很复杂,在CMD5等网站在线查询出密码后就可以登录进入后台了。经测试发现该套CMS系统不存在上传漏洞,拿webshell还是只能使用数据库备份,但数据库备份页面中的数据库地址无法被修改。我修改了一下页面(文件已打包收录),大家在利用时只需要将表单中的action值修改为你测试网站的url即可。打开页面后,填入上传成功的图片木马,然后点击备份,提示备份成功,这样我们的webshell就备份到Admin目录下了。

关于这套系统的分析与简单的利用过程就为大家介绍到这里,在最后的备份拿webshell中大家要注意相对路径、绝对路径的问题,否则就会出现找不到文件的错误。程序是否还存在其它漏洞,是否如官方描述的那样安全,这就需要大家的挖掘了。

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

相关推荐