使用 PHP Shell 远程探索 Linux Shell(终端)
PHP Shell 或 Shell PHP 是用 PHP(Php 超文本预处理器)编写的程序或脚本,它提供浏览器中的 >Linux 终端(Shell 是一个更广泛的概念)。 PHP Shell 允许您在浏览器中执行大多数 shell 命令,但由于其限制,并非全部命令。
更新:最近,我发现了一个非常有前途的工具,叫做“Wetty (Web + tty)”,它提供了完整的Linux终端访问通过 HTTP 或 HTTPS 协议,使您能够执行所有 Linux 命令和程序,就像您坐在真实或虚拟终端前一样。
有关 Wetty 安装和使用的更多信息,请访问:如何安装 Wetty 以通过 Web 浏览器访问 Linux 终端
PHP Shell 在远程 Web 服务器上执行 Shell 命令时非常有用,类似于 Telnet 和 SSH。它对于移动、解压缩和处理 Web 服务器上的较大文件或批量文件非常有用。如果用户具有 Shell 程序的工作知识,那么使用 PHP Shell 管理和维护网络服务器会容易得多。
当已经有Telnet和SSH的时候,你可能会想到一个问题:还需要phpshell吗?答案是——在许多情况下,防火墙的限制非常严格,除了 HTTP(S) 之外,没有任何东西可以通过,在这种情况下,phpshell 可以让您获得远程服务器上的 shell 访问权限。
但是,您无法使用 PHP Shell 执行 GUI 程序或交互式脚本/程序,这可能是它的限制,但这种限制是一个福音,因为禁用 GUI 意味着更高的安全性。
下载 PHP 外壳
最新版本可以从这里下载:
- http://sourceforge.net/projects/phpshell/?source=dlp
如何安装 PHP 外壳
如上所述,PHP Shell 是用 PHP 编写的,因此您不需要安装它,只需将存档文件移动到您的工作 apache/ httpd目录,当然你必须安装Apache和PHP。
安装 Apache 和 PHP
使用 apt-get 命令在基于 Debian 的系统上安装。
apt-get install apache2
apt-get install php5 libapache2-mod-auth-mysql php5-mysql
service apache2 start
使用 yum 命令在基于 Red Hat 的系统上安装。
yum install httpd
yum install php php-mysql
service httpd start
默认情况下apache/http的工作目录是:
基于 Debian 的发行版 /var/www
基于Red Hat的发行版/var/www/html
注意:可以将其更改为任何其他文件夹,建议将其更改为安全措施。
将下载的 PHP Shell 存档文件移至 Apache 工作目录。这里我使用的是Debian系统,所以我的Apache工作目录是。
mv phpshell-2.4.tar.gz /var/www/
解压php shell
tar -zxvf phpshell-2.4.tar.gz
删除压缩文件。
rm -rf phpshell-2.4.tar.gz
作为安全措施,将 php shell 文件夹重命名为任何难以猜测的名称。例如,我移动到 phpshell (现在的 howtoing-nix)文件夹并将 phpshell.php 重命名为 index.php以便您直接重定向到索引页面,而不是文件夹的内容。
mv phpshell-2.4 tecmint-nix
cd tecmint-nix/
mv phpshell.php index.php
好的,现在可以打开 Web 浏览器并导航到“http://127.0.0.1/howtoing-nix”。
默认情况下,用户名或密码不起作用,因此您需要手动添加用户名和密码。
要创建用户名和密码,请调用 phpshell 文件夹中已有的 pwhash.php 脚本,例如“http://127.0.0.1/howtoing-nix/pwhash.php”。
在上述 php 页面中输入用户名和密码,然后单击“更新”。
如结果部分所述,您需要通过复制并粘贴到 [user] 中的 config.php 来添加 sha 行部分。
使用您喜欢的编辑器打开 config.php 文件。
nano config.php
添加该行。
tecmint = "sha1:673a19a5:7e4b922b64a6321716370dad1fed192cdb661170"
由于它位于[用户部分],显然您的sha1将根据您的用户名和密码是唯一的。
保存包含当前更改的 config.php 文件并退出。
现在是时候登录了。访问http://127.0.0.1/howtoing-nix。使用您的“用户名”和“密码”登录。
是的,您已经成功登录到您的 phpshell。现在,您可以像在自己的系统上运行这些命令和脚本一样顺利地执行大多数 shell 程序。
PHP Shell 的某些瓶颈
- 不支持额外的输入,即一旦启动程序,就无法使用交互式脚本。
- 所有网络服务器都配置为在特定时间范围内超时,例如30秒。此限制是 Web 服务器/ Apache 的限制,而不是 phpshell 的限制。
- phpshell 中的每条命令都必须严格为一行。 Phpshell 不理解连续命令或循环中的多行命令。
请记住,保护 PHP Shell 密码非常重要,否则每个人都可以窥探您的文件,甚至可能删除它们!请花时间保护您安装的 PHP Shell。
本文旨在让您以更清晰的方式了解 shell 的更广泛的方面和实现。
这就是我现在的全部内容。我很快就会再次来到这里,带来你们人们会喜欢阅读的另一个有趣的话题。在此之前,请继续关注并连接到 howtoing。 享受吧!