网易首页的HTML何时变得这么劣质了?没有doctype声明

优采云 发布时间: 2021-07-12 02:19

  网易首页的HTML何时变得这么劣质了?没有doctype声明

  前几天在网上打开163首页的时候,发现页面底部莫名出现了一个边框。这在以前从未发生过,以后也不会出现如此丑陋的设计。

  出于好奇,我立即右键单击边框查看元素。尼玛,你不知道,网易首页的HTML什么时候变得这么差了?

  

  没有 doctype 声明,甚至没有 title 元素。 Script 仍然是 language=JScript 风格,要追溯到很多世纪。最糟糕的是,框架仍然是元素。 . .

  不用说,这显然不是网易页面。页面上的广告词已经被深度购买。这是一个广告页面!

  

  说起出身天朝,各种劫持早已司空见惯。

  通过网络劫持广告,将有一个油价2元一升的时代,世界末日后依然存在,说明收益巨大。

  无需计算,用手指估算即可。我有数亿电脑和手机用户,每天打开无数网页。即使1%的网页插入一个广告,也会有数亿的展示量,商机不言而喻。 . .

  虽然对此我有点无奈,但只要插入的广告不影响正常上网,没有异议。如果级别足够高,可以伪装成页面上的原创广告,至少形式相同,看不出任何瑕疵。这不仅不是废话,反而会有些佩服。

  但是,目前看到的各种广告劫持代码,几乎都相差无几。这次我把它看成是垃圾桶里的斗士。随便找个网页编辑器,自动生成的HTML比这个好很多,然后随便找个css稍微修改一下,一看就不会是假的deck页面了。尼玛的作品是秘密进行的,但没有简单的加密和混淆,广告是用明文写的。这不是池果果秀智商的下限吗?

  不过,既然我今天花时间吐槽了,那我就简单讨论一下未来可能发生的进一步变化。

  最常见的:将被劫持的网页放入自己的外壳中。

  其实这样做的目的很明确,就是让广告显示在浏览器的顶部。一般为了达到这个效果,广告会显示在页面的右下角,覆盖被劫持页面的滚动条,看起来像是漂浮在浏览器之外!

  这招太狠了。乍一看,还真以为是QQ之类的软件弹出的消息框。但是_只要把浏览器窗口退出到最大,顺便拖动窗口,广告也会动,假鬼瞬间就暴露了!

  

  注意事项

  这种劫持完全没有技术含量,反劫持还是很容易的。只需在您自己的网页中验证它是否在合法 URL 列表中。如果不是,则不允许嵌入到其他网页中。更好的方法是将顶地址提交给后端服务器,统计哪些网站设置了自己的页面。

  在返回页插入外链脚本

  与之前的做法相比,这种做法的隐蔽性要好得多,至少不会替换别人网页的源文件。

  当然,如果你只是在页面末尾插入

  所以可以在后续的“革命运动”中直接清理掉。 . .

  在返回网页的脚本中混合广告代码

  随着劫持过程的不断升级,套路会越来越厉害。说不定有一天,劫机者内置了html语义分析器,可以智能地将广告脚本合并到页面上的原创js中!

  如果是这种情况,那么如前所述向脚本元素添加签名将无济于事。因为*敏*感*词*已经深入我们,真假难辨!

  最致命的一点是,脚本可能并不总是被放置,它们也可能是内联的。 . 这是个*敏*感*词*烦,我得想想怎么解决。 . .

  注意事项

  对于这种情况,确实没有简单的方法可以识别。唯一的办法就是在发布HTML时记录文件的hash值。该值可以写入网页或存储在数据库中。

  当网页内容加载完毕后,我们通过ajax再次读取当前页面的内容(一般我们读取的是当前页面缓存的数据)。通过同样的算法计算页面的校验值,并与原创值进行比较,即可知道该页面是否被第三方篡改过。

  我们也可以将篡改后的html发送到后端,找出字符串中的差异,让技术人员分析他们做了什么。

  当然,这仅限于静态网页。

  在返回页的链下脚本中混合广告代码

  这个技巧可以算是终极一章——它根本不修改任何HTML内容!

  但是,一些js文件应该外部链接到一般网页。结果,那些外链的脚本变成了红薯肥肉,被盯上了!

  当然也可以像验证html一样预先计算所有js文件的hash值,然后再用ajax重新读取数据进行鉴权对比。

  但别忘了,外链js的路径可以任意,ajax只能读取同源站点。此外,外部链接

  本文标题:流量劫持系列11_On网站流量劫持预防措施

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线