龙空技术网

PHP执行Shell的几种方式

寒冬的艳阳天 186

前言:

如今我们对“phpshell”都比较注意,我们都想要学习一些“phpshell”的相关资讯。那么小编也在网络上汇集了一些有关“phpshell””的相关知识,希望姐妹们能喜欢,小伙伴们一起来了解一下吧!

PHP SSH2 Softwore 软件 开发

1.通过system, shell_exec, exec函数直接在服务器上面运行,优点是简单方便,缺点是有些情况下权限受到限制导致某些命令不能执行。

<?php$output = shell_exec('ls -lart');echo "<pre>$output</pre>";?>

2.通过ssh2扩展连接到服务器然后在执行相应的命令,优点是可以突破权限的限制执行一些root命令,缺点是有些情况下服务器未安装ssh2扩展或者当前版本php不太好安装ssh2扩展。

<?php$connection = ssh2_connect('shell.example.com', 22);ssh2_auth_password($connection, 'username', 'password');$stream = ssh2_exec($connection, '/usr/local/bin/php -i');?>

3.可通过"Net/SSH2.php"链接到服务器,然后执行命令,优点是不依赖服务器扩展,缺点是需要引入第三方包

include('Net/SSH2.php');define('NET_SSH2_LOGGING', NET_SSH2_LOG_COMPLEX);$ssh = new Net_SSH2('');if (!$ssh->login('username', 'password')) { exit('Login Failed');}echo $ssh->exec('pwd');echo $ssh->getLog();

4.其实还有很多变通的办法这里就不在阐述了比如先通过shell_exec执行grunt然后通过grunt的ssh2来间接完成任务

标签: #phpshell