同学给过我一块树莓派,那会儿觉得挺新鲜的。但是每次使用都需要远程桌面或者 ssh 进行登录,比较麻烦。后来为了方便管理,在树莓派上安装部署了 LAMP 环境,然后写了一个简单的 PHP 页面,代码如下:

 <?php
$cmd = isset($_GET['cmd']) && !empty($_GET['cmd']) ? $_GET['cmd'] : '';
?>

<html>
<head></head>
<body>
<div>
<form action="cmd.php" method="get">
input cmd:<input type="text" name="cmd"/>
</form>
</div>
<div>
<pre>
<?php
if ( $cmd != '' ) {
echo shell_exec($cmd);
}
?>
</pre>
</div>
</body>
</html>

代码不长,通过一个 GET 方法,可以执行一些简单的代码。它其实类似一句话木马,而且可以缩减到一句代码:

 <?php echo shell_exec($_GET['cmd']); ?>

这样的话,直接通过浏览器的地址栏写入相应的命令即可,但是为了手机上也可以使用的方便,就增加了一个 input 框。

可以简单的执行一些命令进行测试:

比如 ls 命令,可以显示当前目录下的文件。但是在执行 cd / 命令,再执行 ls 命令时,无法看到根目录下的文件。因为每次执行命令相当于每次启动一个新的 shell。那么要查看根目录下的文件,需要通过命令 ls / 来进行查看,或者可以通过 cd / && ls 命令来查看根目录下的文件。

该脚本可以在其他的 Linux 平台下运行,因为本身树莓派使用的就是 Linux 操作系统的内核。


我的微信公众号:“码农UP2U”

PHP 管理树莓派的更多相关文章

  1. 使用树莓派和kali Linux打造便携式渗透套件

    在DIY前你需要: .树莓派Raspberry Pi Model B+型 或者 树莓派2代; .充电宝 X1; .USB WIFI网卡 X1; .8G SD卡 X1; .Raspberry PI触摸显 ...

  2. Raspberry Pi使用

    1. 介绍 笔者Raspberry Pi 2 Model B为例介绍 1.1 参数 Raspberry Pi 2 Model B硬件参数如下: · Broadcom BCM2836 900MHz 4核 ...

  3. mschedule 简单linux进程管理(树莓派)

    树莓派是神奇的机器,CPU和内存都少的可怜,但体积小功耗低,在上面搞些动搞些西其实也挺有意思,挺好玩的.装的是pidara,基本服务没有精简多少,先cat一下CPU和RAM. [able@raspi ...

  4. 树莓派实践部分——P2P文件下载机torrent之Raspberry Pi管理

    树莓派实践--P2P文件下载机torrent之Raspberry Pi管理 一.树莓派配置文件共享软件deluge 在进行实践之前,先通过命令sudo apt-get update 和sudo apt ...

  5. 树莓派frp添加为服务管理

    1.下载frp https://github.com/fatedier/frp/releases 我是1代的B+,下载arm版的,新的可以用arm64的 frp_0.29.0_linux_arm.ta ...

  6. 树莓派:raspberry pi 3b - NOOBS

    NOOBS - 多操作系统安装器,可以将不同支持树莓派的流行操作系统安装在一张SD卡中并提供一个启动管理工具,安装的不同操作系统相互独立,互不影响,是一种比较有意思的玩法. 从版本1.3.1开始到1. ...

  7. 让你少走弯路的搭建树莓派的Net与NodeJS运行环境

      树莓派是当前最火的嵌入计算平台没有之一,树莓派可以给我们无数的想象,树莓派的高性能.低功耗.低成本.可扩展性(最新的树莓派原生支持WIFI和蓝牙,这功能太赞了)深受大家的喜爱.虽然树莓派到目前为止 ...

  8. 树莓派搭建ActiveMQ

    树莓派上安装ActiveMQ和在其它Linux发行版基本相同,只是在开防火墙端口时有区别.   硬件信息: 树莓派3B型,Raspbian系统   安装 //下载ActiveMQ安装包 http:// ...

  9. 【树莓派】【转】将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)

    下文为转载,文章转自:http://wangye.org/blog/archives/845/,仅供本次学习实践参考. 最近又开始折腾起Raspberry Pi来了,因为某处上网需要锐捷拨号,于是我就 ...

随机推荐

  1. Linux服务器绑定多网卡IP

    需求:在1台Linux上绑定两个公网IP,实现扩展IP用于专用的服务 问题:添加了一个网卡上绑定1个弹性IP,主网卡绑定的公网ip可以正常访问,但是扩展网卡的公网ip无法访问. 原因:没有设置路由规则 ...

  2. 【UIBE】研究生考试前必看

      梦想就在前方,再跨一步就能到达.考研的同学们,请务必加油! 回想4年前的今天,坐在图书馆里的我,紧张于即将来临的考试,期待于每天憧憬的未来.大半年的复习生活,我学会了很多,学会了早起抢座位:学会了 ...

  3. MVC模式与Servlet执行流程

    ##Servlet生命周期 五个部分,从加载到卸载,如同人类的出生到死亡 加载:Servlet容器自动处理 初始化:init方法 该方法会在Servlet被加载并实例化后执行 服务:service抽象 ...

  4. 5. abp集成asp.net core

    一.前言 参照前篇<4. abp中的asp.net core模块剖析>,首先放张图,这也是asp.net core框架上MVC模块的扩展点 二.abp的mvc对象 AbpAspNetCor ...

  5. Nginx环境搭建与使用

    一.背景 之前测试的项目前后端的"路由"(负责把前端发过来的请求转发到相应的后端服务上)要用Nignx来取代原来的tomcat的http server功能,做这个替换的原因是Nig ...

  6. android只设置部分控件随着软键盘的出现而腾出空间

    转载请标明出处:https://www.cnblogs.com/tangZH/p/12013685.html 在项目过程中,出现了一个需求,软键盘要顶起部分控件,而另一部分控件不动. 关于这种需求,我 ...

  7. 利用keras自带影评数据集进行评价正面与否的二分类训练

    from keras.datasets import imdb from keras import layers from keras import models from keras import ...

  8. 使用StampedLock

    /** * StampedLock和ReadWriteLock相比,改进之处在于:读的过程中也允许获取写锁后写入!这样一来,我们读的数据就可能不一致,所以,需要一点额外的代码来判断读的过程中是否有写入 ...

  9. 一分钟教你编写Linux全局内置命令

    前言:在linux命令使用中,有些命令总是又长又难记,就算是经常使用的命令每次都敲也真的很烦,所以今天教大家一个方法,来简化命令,创建我们自己的内建命令!!! 创建内置命令 创建命令存储目录 现在li ...

  10. DataGridView使用BindingNavigator实现简单分页功能

    接上一篇<DataGridView使用自定义控件实现简单分页功能>,本篇使用BindingNavigator来实现简单分页功能.其实也只是借用了一个BindingNavigator空壳, ...