常见劫持手段按照劫持的方法不同,我将劫持分为下面

优采云 发布时间: 2021-06-04 06:21

  常见劫持手段按照劫持的方法不同,我将劫持分为下面

  常见的劫持手段

  根据劫持方式的不同,我将劫持分为以下两类:

  跳转劫持:用户输入地址A,跳转到地址B

  注入劫持:与跳转劫持不同,是指将广告代码(js、iframe等)注入普通网页,实现页面弹出提醒或底部广告等,分为以下三种小班:

  注入js类劫持:通过将劫持的js代码注入普通页面实现劫持

  iframe劫持:将普通页面嵌入到iframe中或在页面中添加iframe页面

  篡改页面劫持:正常页面存在冗余被劫持的网页标签,导致页面整体大小发生变化

  IIS7网站监控可以及时防控网站风险,快速准确监控网站是否受到各种劫持攻击,网站是否可以在全国开通(查看域名是否名称被墙),精准的DNS污染检测,配合网站开启速度检测功能,第一时间知道网站是否被黑、被黑、改标题、被黑。持续改进产品,提供缺陷零数据!

  它可以完成以下功能:

  1、检测网站是否被黑

  2、检测网站是否被劫持

  3、检测域名是否被墙

  4、检测DNS是否被污染

  5、网站真实全开时间(独家)

  6、拥有独立监控后台,24小时定期监控域名

  官方图片:

  

  

  官方地址:IIS网站monitoring

  跳转劫持

  为了获取流量,一些需要流量合作的电商或者网站百度等会有自己的联盟​​系统,通过给予一定的奖励来获得分流,例如:百度或者电商会有频道分享。

  为了区分哪些是第三方转用的,通常会在URL地址中添加source和from等参数,或者在进入页面之前使用“中间页面”cookie。

  这样,当用户输入一个普通的URL时,劫持者就会将他重定向到带有分享或频道号的“中间页面”或在网络层带有频道号的页面。这样,劫持者就会在用户下单或搜索时获得“佣金”。

  上面提到的案例还算友好。至少用户通常不会遇到页面更改。有跳转到钓鱼网站的情况,也有不正当竞争的情况:用户输入跳转到or,和对方网站故意让它看起来像百度搜索。当时他还帮法务采集了很多案例。

  题外话:过去几年,用户使用百度搜索某些医疗查询,立即会接到用户宣传医院的电话。不少网友抱怨,不知道真相的人也纷纷指责百度。其实这种网址就是运营商的网址关键词卖给了医疗机构,百度就是一把*敏*感*词*。 . 当时,另一个项目是加密查询。 . .

  注入劫持

  在页面传输过程中,内容被网络层“重新处理”。常见的例子包括:注入js、iframe、篡改页面。

  注入js

  注入js的方式可以是通过document.write或者直接改html代码片段等,给页面添加外部js。有些运营商为了增加检测难度,会编造一个不存在的URL地址,使其不被过滤。或测试。

  案例1:运营商将自己标识的ip或域名作为js URL,只能在浙江移动网下解析,IP同样如此

  案例2:运营商很聪明,知道页面可以检测所有外链js域名,例如:我只允许/static外链js,其他js会被记录反馈;为了不被检测,我遇到一个凯斯电信会访问一个不存在的地址,比如:/static/abc.js,这个地址会直接返回运营商劫持的js代码,不会发送请求到百度的服务器。

  是放在 iframe 或 iframe 的其他页面中

  这种情况比较少见,但是一些网站或者没有内容的垃圾站会用这种方法。他们通常通过流行的关键词 做SEO,打开网站 居然去了广告。该类没有任何实际内容,但该页面嵌入了另一个网站。如果我们认识到它不是嵌入的,我们需要检查。

  篡改页面内容

  这种情况比较少见,通常是在页面底部添加js以外的div,然后显示一些非网站的内容。

  劫持检测方法

  我讲了常见的劫持方法,我们来看看如何识别上面提到的劫持。

  劫持统计

  上图为2015年8月11日百度某页面被劫持,当天数据还不错。浙江移动网络劫持率高达40%以上。还专门启用了域名zjtoolbar,浙江工具栏)。 . .

  跳转劫持

  仅依靠网页很难检测到跳转式劫持。当时我们在手机百度(handbai)里做了检测,所以比较简单。用户输入搜索词(查询),打开百度页面URL,页面加载结束后,APP比较访问的URL是否为之前访问过的URL,如果不一致,则为记录和报告。

  注入js类型页面

  重写 document.write 方法

  遍历页面的script标签,给外链js添加白名单,上报给不在白名单中的js外链

  检测是否被iframe嵌套

  通过比较父对象,如果页面是嵌套的,那么parent!==window。要获取我们页面的 URL 地址,您可以使用以下代码:

  函数 getParentUrl() {

  变量网址;

  if(父窗口!== 窗口){

  试试{

  url = parent.location.href;

  } 抓住 (e) {

  url = document.referrer;

  }

  }

  返回网址;

  }复制代码

  特殊方法

  如前所述,类似于电信在白名单中伪造js URL,篡改页面内容,我们无法通过上述方法检测到这些信息。如果是在APP里面,可以做的事情就更多了。除了上述之外,您还可以比较页面的内容长度。当时手白的做法是:

  当用户开始输入查询时,APP访问空白页面。页面中只有html、title、head、body、script,script标签中的主要代码是嗅探是否被劫持。

  因为一般劫持不会针对某个页面,而是针对整个网站域名,所以我们的空白页面也会被劫持。

  一旦被劫持,这样一个简单的页面结构就很容易被分析为页面劫持。如果分析了劫持方式,就报案

  脚本中的核心代码如下:

  函数 hiJackSniffer() {

  var files = $.toArray(D.querySelectorAll('script[src]'));

  var arr = [];

  for (var i = 0, len = files.length; i

  files[i].src && arr.push(files[i].src);

  }

  if (arr.length) {

  return sendImg(arr, 1);

  }

  arr = getParentUrl();

  if (arr && arr.length) {

  //是嵌入在iframe中

  return sendImg([arr], 2);

  }

  if (D.documentElement.outerHTML.length> 4e3) {

  var tmp = {};

  var headjs = $.toArray(D.head.querySelectorAll('script'));

  var unknownCode = [];

  if (headjs.length) {

  unknownCode = unknownCode.concat(headjs.map(function(v) {

  返回 v.innerHTML;

  }).filter(function(v) {

  返回!!v;

  }));

  }

  var body = $.toArray(D.body.querySelectorAll('*'));

  if (body.length> 1) {

  unknownCode = unknownCode.concat(body.map(function(v) {

  return v.outerHTML.split('\n').join('');

  }).filter(function(str) {

  如果 (/^

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线