最近的动易CMS漏洞在圈子里确实火了一把,不过今天要聊的这个CMS,虽然功能上不如动易全面,但同样藏着注入漏洞——而且是用工具扫不到的那种。现在的注入已经从显式转向隐式,不翻源代码根本发现不了。
适合入侵爱好者阅读,零门槛即可上手。这次要发掘的目标是MaosinCMS网站系统。先在本地搭好IIS架起来,界面看着还挺顺眼。想利用这个注入点,得先注册个普通用户。之前《黑客防线》有篇文章讲“注册型注入点”,这个系统的漏洞大致也属于那种类型。注册登录后,界面感觉像是从乔客系统改过来的。有个“发布新闻”功能,随便填点内容提交,成功发布。到这里程序还没问题,但还有个“管理发布新闻”的功能,用户可以对自己发布的内容修改或删除。问题出在修改这里——参数没过滤,直接给了注入机会。
注意看地址栏传递的参数是数字型的,注入里最喜欢这种类型。表面上是user_publish.asp文件出了安全问题,翻代码才发现真正的漏洞在user_news.asp里。部分代码如下:
(此处原文代码:从代码中很容易理解exists(,首先是定义一个子过程modifynews()函数,以便随时调用,而函数主体代码变量id直接由GET方式获取,没有经过任何函数过滤,就放入记录集中进行SQL查询,从而造成注入漏洞。)
既然漏洞已经确认,就来实测一下。简单的注入直接交给啊D,结果它报这个注入点不能注入。工具靠不住,只能手工来。先输入and select * from ms_admin)判断是否存在ms_admin表,返回正常——表存在。接着用order by语句判断字段长度,直到order by 24返回正常,说明字段长度是24。然后联合查询暴密码和账户:and 1=2 union select 1,2,3,adminname,5,6,adminpass,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from ms_admin,成功拿到管理员账户和密码。
后来翻其他文件时,发现除了管理新闻,管理图片也存在同样的漏洞。user_pic.asp文件中的部分代码如下:
(此处原文代码:user_pic.asp文件中的部分代码,与前面类似,变量未过滤。)
这套CMS除了这两处漏洞外,其他地方还算安全。可惜千里之堤溃于蚁xue。拿到账户密码进后台,发现功能很强大:有数据库备份、上传功能,还能直接执行SQL命令。在上传设置里添加asp后缀,再回到前台上传ASP木马,就能拿到WebShell了。
网络测试
原本想对安徽大学思科网络学院做测试,可后台找不到,只好放弃。后来在网上找到“湖南湘潭设计艺术家协会”站点。和本地演示一样,注册用户后发布文章,直接执行SQL命令,轻松暴出账户和密码——让人大跌眼镜的是,密码和账户竟然是默认的admin和admin888。可见管理员连最基本的安全常识都没有。进入后台,添加ASP后缀上传ASP木马,或者用备份数据库的方法拿下WebShell。直接上传ASP木马就拿到了。
拿到WebShell后发现权限比较小,只能在站点目录下跳转,但可以执行CMD命令——wscript.shell组件没有被移除。由于这个站点是政府站点下的子目录,就没有再继续深入。文章到此结束,祝各位在新的一年里技术更上一层楼。
