网站内容劫持 广告( 常见劫持手段按照劫持的方法,我将劫持分为)

优采云 发布时间: 2022-03-31 02:09

  网站内容劫持 广告(

常见劫持手段按照劫持的方法,我将劫持分为)

  

  常见的劫持方式

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

  注入js类劫持:将劫持的js代码注入普通页面劫持 iframe类劫持:将普通页面嵌入iframe或添加iframe页面到页面篡改页面类劫持:额外的劫持网页标签出现在普通页面上,导致页面的整体大小发生变化

  跳跃劫持

  为了获取流量,一些像百度这样需要流量合作的电商或者网站会有自己的联盟​​系统,通过给予一些奖励来获得导流。例如,百度或电子商务公司将拥有渠道份额。

  为了区分哪些是从第三方转过来的,通常会在url地址后面加上source、from等参数,或者在进入页面前传递一个“中间页面”类型的cookie。

  这样,当用户输入一个正常的URL时,劫持者就会使其跳转到具有分区或频道号的“中间页面”或在网络层具有频道号的页面。这样,当用户下单或搜索时,劫持者将获得“佣金”。

  上面提到的案例还是比较友好的,至少用户一般不会体验到页面变化,有跳钓鱼网站这样的案例,还有不正当竞争的案例:用户输入跳转到or,对方网站我故意让它看起来和百度搜索差不多,当时我也帮法务采集了很多案例。

  题外话:在过去的几年里,用户使用百度搜索某些医疗查询,用户立即收到宣传医院的电话。不少用户抱怨,不明真相的人也指责百度。关键词卖给医疗机构,百度就是骗人的。. . 当时我也做了一个项目来加密查询。. .

  注入劫持

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

  注入js

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

  案例一:运营商会使用自己识别的ip或者域名作为js URL,只能在浙江移动网络下解析,ip也是一样

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

  放置在 iframe 或 iframe 其他页面中

  这种情况比较少见,但是一些边缘的网站或者没有内容的垃圾站会使用这种方式。他们通常通过流行的 1) {                unknownCode = unknownCode.concat(body.map(function(v) {                    return v.outerHTML.split('\n').join('');                }).filter(function(str) {                    if (/^/.test(str)) {                        return false;                    }                    return true;                }));            }            return sendImg(unknownCode, 3);        }        sendImg([], 0);    } 

  这样除了检测多余的js外链外,还可以检测出篡改页面内容等情况。除了检测域名劫持外,还可以在用户输入查询时通过访问空白页面提前完成DNS解析,还可以用于劫持防御,所谓“三鸟一石”!

  劫持防御

  最简单粗暴的就是直接上HTTPS,一劳永逸。然后是证据采集,提起诉讼或警告频道作弊者。另外,我们可以继续使用空白页进行劫持检测。

  在没有全站https的时期(毕竟全站https涉及的工作量不小),当利用空白页来嗅探当前网络环境下的劫持风险时,那么客户端就会被通过调用客户端的接口来调用,告诉客户端在这个启动期间。使用https不仅可以降低被劫持的风险,还可以通过该页面的小流量测试https数据。以后在https满了之后,老版本的APP就可以通过空白页完全打开到https了。

  

  【本文为51CTO专栏作家“三水清”的原创手稿,授权请通过微信公众号联系作者】

  点击这里查看作者的更多好文章

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线