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

导航菜单

浅析Diggcms所有版本的通杀漏洞

一好友想做个文章网站,让我帮忙找一套既安全又强大的文章系统,于是我在网上搜索了一下,找到了Diggcms,它不但后台功能很强人而且还可以全站生成html,不过在下载了后,我发现在dig vote.asp页面存在注入漏洞,详细的代码

看以看到它对变量post_str仅仅使用trim函数过滤了两遍的空格,然后就带入数据库查询了,不过由于它包含的function.asp文件中有防注入代码,所以利用起来也是非常麻烦的,具体的代码

可以看到这里过滤了注入常用的一些字符,现在我介绍一下这套程序的版本,官方分为两个版本,一个是免费版,一个是收费版本。免费版的数据库采用的是access,而收费版使用的则是mssql,这里我们可以看到程序侧重过滤了mssql注入的一些字符,虽然是过滤了,但是由于没有注意大小写,所以我们替换大小写就可以跳过防注入代码了,关于这个漏洞我就不多说了,稍微构造一下就可以利用。下面我再来说说它的后台的验证方式,它采用的cookie验证,相关例证的代码在session.asp文件中,我们来看下代码:


首先可以看到,它判断了cookie中username的值是否为空,如果为空删跳转到login.asp,反之则验证UserAccountStatus的值是否和UserRoeID是否为3,如果是则认为你是管理员,这样一来,cookie欺骗漏洞就产生了。不过要利用这个cookie漏洞,我们要先找到管理员的帐号,因为程序查询数据库要判断usernme的值,默认的管理员帐号是admin,下面我们就来构造一个cookie,内容如下:UserAccontStatus=1:usernae=admin:UserRoleID=3;,构造后就可以直接访问/min loin/ix.asp了,这样就可以成功的进入后台了。

进入了后台,拿webshell就是一件很简单的事情了,在后台有数据库备份和上传图片的地方,不过由于上传的地方对文件头进行了检查,所以我们上传个gif头格式的木马上去就可以了。上传完成点击左上角的html,就可以查看到上传的木马的路径了。

QQ截图20170224134734.png

接着我们来到数据库恢复的地方,备份数据库的时候也对文件的合法性进行了检查,如果不是数据库文件则不给备份,不过它恢复数据库的地方却没有任何限制,这里就是我们下手的地方。我们在备份数据库路径的地方埴入我们上传的gif马的路径,然后在目标数据库路径上填入我们要把马保存的地方。不过在这里要提醒大家,一定要修改默认数据库的路径,否则这个网站就挂了。填好后点击恢复,这时就会提示恢复成功,现在来访问一下我们的小马,输入“http://127.0.0.1/%23ap_cfig/su.asp”,成功得到了webshell。

本以为程序的漏洞就这么多了,结果却发现管理目录/amin lgin下还有一个名叫db07.asp的文件,这是一个数据库在线管理页,但是我怎么也想不通它到底有什么用,页面验证方式也是和后台的验证方式一样,访问了一下这个页面,可以看到它允许新建任意后缀的数据库,可以在数据库中插入表、字段、字段内容等等。

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

相关推荐