同学给过我一块树莓派,那会儿觉得挺新鲜的。但是每次使用都需要远程桌面或者 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. 201871010119-帖佼佼《面向对象程序设计(java)》第四周学习总结

      项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh ...

  2. CentOS7添加自定义脚本服务

    一.CentOS7添加自定义脚本服务说明 在CentOS7下,已经不再使用chkconfig命令管理系统开机自启动服务和条件自定义脚本服务了,而是使用管理unit的方式来控制开机自启动服务和添加自定义 ...

  3. JavaScript图形实例:圆形图案

    在HTML5的Canvas 2D API中,可以调用arc方法绘制圆或圆弧.该方法调用格式为: context . arc(x, y, radius, startAngle, endAngle, an ...

  4. webpack 配置babel-loader babel7

    babel 7版本配置 在webpack中 默认只能处理部分 ES6的新语法,一些更高级的ES6或ES7的语法,webpack是处理不了的这个时候就需要借助第三方的loader 来帮助webpack ...

  5. Python 下JSON的两种编解码方式实例解析

    概念   JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写.在日常的工作中,应用范围极其广泛.这里就介绍python下它的两种编解码方法: ...

  6. Cross-Site Scripting:DOM 跨站点脚本:DOM

  7. redis系列之------主从复制

    什么是主从复制 Redis的主从复制机制是指可以让从服务器(slave)能精确复制主服务器(master)的数据,如下图所示: 或者    主从复制的方式和工作原理 工作方式: Redis主从复制主要 ...

  8. How to: Recompile the Business Class Library 如何:重新编译业务类库

    The eXpressApp Framework supplies the Business Class Library that consists of three assemblies. eXpr ...

  9. JDK1.8 中的HashMap

    ​ HashMap本质上Java中的一种数据结构,他是由数组+链表的形式组织而成的,当然了在jdk1.8后,当链表长度大于8的时候为了快速寻址,将链表修改成了红黑树. ​ 既然本质上是一个数组,那我们 ...

  10. 【坑】Maven [ERROR] 不再支持源选项 5。请使用 6 或更高版本

    在pom.xml文件中添加如下代码: 注意:jdk使用自己下载的版本,我的是13 <properties> <project.build.sourceEncoding>UTF- ...