PHP最短webshell的一些理解

时间:2020-09-17 18:22:52 PHP 我要投稿

PHP最短webshell的一些理解

  webshell大家都懂就是网站注入了,对于webshell我们有万千不同的方式了,下面一起来看看关于最短的webshell引起的一些深思。

  The shortest webshell of PHP

  某天闲逛wooyun,发现一篇挺有意思的文章————《32C3 CTF 两个Web题目的Writeup》。其中提到了两个比较有意思的东西:

  The shortest webshell of PHP

  PHP执行运算符反引号

  上面提及的文章,我读前几遍的时候是很费解的!后来,土司的P牛给我一些指点,豁然开朗

  Google “the shortest webshell”

  <?=`$_GET[1]`?>

  google得到的结果之一如上所示,一共15个字符。这里比较有意思的是

  php.ini需要开启short_open_tag后才能使用短标签,才能使用 <?= 代替 <? echo

  php中使用分号分隔语句进行解析

  最后一行不需要分号

  php多条语句可以写在一样,但是需要分号分隔

  多个分号之间只要是空白符,php是允许的!(有待考究)

  <?=`$_GET[1]`;

  google得到的最短的webshell如上所示,一共14个字符

  这里去掉了闭合标签,但是加上了分号

  最后一行不需要分号,但是一定需要闭合标签!

  此外,这种写法嵌套在其它文件中是不可行的,那么就必须写上闭合标签!

  linux中bash的`妙用

  <?=`*`;

  一个7个字符,这七个字符能做什么呢?

  在linux系统中,在终端运行*与上面的作用是一样的!

  *用于匹配目录下的所有文件名(包括目录名)。

  反引号就是执行运算符,将目录下的文件名以命令的形式进行执行!接下来就是linux的东西了。

【PHP最短webshell的一些理解】相关文章:

一些PHP中类的常识11-21

最近总结的一些php信息函数11-16

有关PHP的一些常用问题解答10-15

PHP中闭包的一些常见问题介绍11-25

关于JavaScript中call()和apply() 的一些理解11-12

理解PHP5中static和const关键字的差别11-14

试谈一些网站对于游戏设计师错误的理解09-26

学习php的心得06-25

PHP socket的配置11-23