如何在命令长度受限的情况下成功get到webshell(函数参数受限突破、mysql的骚操作)
0x01 问题提出 还记得上篇文章记一次拿webshell踩过的坑(如何用PHP编写一个不包含数字和字母的后门),我们讲到了一些PHP的一些如何巧妙地绕过数字和字母受限的技巧,今天我要给大家分享的是如何在命令长度受限的情况下成功get到webshell,以及关于函数参数受限的突破,mysql的一些骚操作技巧~~~ 0x02 问题分析 我们先看个例子: <?php $param = $_REGUEST['param']; if(strlen($param) < 17){ eval($param); } ?> 上面这部分意思只是叫我们绕过长度受限就可以执行代码。这个其实就很简单了,我们可以采用调用eval或者assert这种后门函数就可以直接绕过了~~ eval函数中参数是字符,比如像下面这样子: eval('echo 1;'); assert函数中参数为表达式(或者为函数),我们可以像下面这样子去实现: assert(phpinfo()) 而我参看了PHP手册才了解到,assert是函数,eval不是函数,是一种语言构造器,eval($a)中$a只能是字符串,asser...