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

导航菜单

又见W78cms SQL注入0day漏洞

W78Cms是使用ASP+ACCESS开发的一套系统,所有页面采用了UTF-8全球通用编码,兼容简体中文、繁体中文以及英语,适用于中小企业网站使用。之前曾在网上看过一篇关于W78cms存在的一个后台文件验证漏洞,这几天又在网上看到了新版本W78cms的一个0day注入漏洞。

在好几个文件中都存在SQL注入漏洞,比如程序根目录下的abt.asp文件,存在漏洞的关键代码为

可以看到变量id的值没有经过任何过滤就带入了数据库查询,也就导致了注入漏洞的产生,程序根目录下的shore.asp和srch_ns.asp文件也存在类似的注入漏洞,这里就不一一介绍了,下面我们来看如何利用这个漏洞来拿webshell。

为了方便,我就在虚拟机里演示拿webshell的过程了,从网上下载了w78企业网站管理系统(简体中文单语版)的源码,在虚拟机的Windows系统中使用IIS6.0把程序运行了起来。

点击“公司简介”,在打开地址后面添加一个“'”,提交后报错了,看来果然存在注入漏洞。通过查看数据库,发现aut表的字段数为6,因此我们在浏览器中提交。

发现2和4处可以用来显示信息,下面就直接给出暴管理员用户名和密码的方法,在浏览器中提交就成功的暴出了用户名admin以及密码21232f94aOe4a801fc3,密码是经过MD5加密的,可以拿到md5等在线破解网站上进行破解,如果破解出密码的话就可以登录进入网站后台了。

QQ截图20170303140516.png

我破解出来的密码为ain,W78cms的默认后台目录为admin,因此在浏览器中直接访问就打开了后台登录页面,使用得到的用户名和密码成功的进入了后台。

进入了后台就该考虑怎么得到wehell了,后台有备份数据库功能,我准备通过备份数据库的方法来获得webshell。把一句话代码“<%el rest(“x”)%>”保存到一个文本文件里,然后把文件重命名为123.jpg,点击后台“新闻管理”下的“添加新闻”,发现使用的编辑器为eWebor,把123.jpg传上去。

文件传上去后点击“代码”按钮,发现文件传上去后保存的相对路径为“/updfile/2.0100331115037815.jpg”。我们点击“备份数据库”来进行备份操作,当前数据库路径就写“/uplfile/20100331115037815.jpg”,备份数据库名称就写x.asp。

点击“确定备份”按钮来进行备份,但这样备份出来的文件名为x.asp.mdb,不能利用,大家先别着急,我们再来备份一次,当前数据库路径还是填写“/uploadfile/20100331115037815.jpg”,备份数据库名称还是写x.asp,点击“确定备份”,这样就备份出x.asp了。使用lake2的eval最小马发送端进行连接,成功的获得了webshell。

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

相关推荐