漏洞成因:
源码中的expandArguments预处理函数没有正确构造,且对其中参数未经过过滤处理,被用户使用构建的数组进行sql注入
原理可以参考Drupal<7.32“Drupalgeddon”SQL注入漏洞(CVE-2014-3704) - 码农教程
漏洞复现:
vulnhub中开启cve-2014-3704
burpsuite抓包进行构造恶意url,发现可以获取数据库名,漏洞复现成功
靶场实例:
第一种做法:
但是上面问题来了,尝试了爆数据库名可以,但是表名什么都不行,因此我们的目的并不是要自己构建,尝试使用工具
这里使用春秋镜云靶场,进行完前面两个操作,将抓包内容放入kali
使用sqlmap爆,注意,这边database要改为*
爆库名,看看有没有问题
爆出来了,但是只能说明有这个漏洞,我们想在里面执行命令什么都不可以
我们可以利用sqlmap中查询文件命令
拿到
第二种做法:
msf中有durpal模块,且你知道对方ip
剩下的可以直接使用find之类的提权,我这边没有特地设置好环境就不做了
第三种做法:
whatweb查看版本号,直接查询该漏洞对应版本号
为什么选这个呢,主要是可以创建一个admin权限的用户
将对应的脚本复制出来,使用命令执行,有些可以直接查看如何执行
执行
创建成功了,我们可以尝试一下
成功进来
总结:
cve-2014-3704主要判断是否有sql漏洞,后面操作全是靠kali中工具
网站要学会利用kali中的工具,kali中工具很多,尤其是searchsploit工具,大部分cms漏洞都可以在上面找到