https+hosts+cdn+chrome赤手***

據初步猜測,牆掉一個網站,基本上有這幾種方法

  1. 封ip

  2. 封域名/內容過濾

  3. dns污染

 

對於封ip,如果一個網站用了cdn,就很難封了,因爲ip很多。比如google、cloudflare。這樣的網站,封起來太困難了,如果把所有ip段都封了,那基本上就是撕破臉了。所以一般會採用封掉域名的方法,比如facebook/twitter/appspot都是這樣掛的。

封域名/內容過濾,用http協議發送數據的時候,牆檢測到你要發送的域名,然後給你過濾掉,返回空或者出錯等。用https可以解決這個問題,因爲牆不知道你發送的是什麼數據。如果用了https,因爲無法檢測內容,所以牆會在dns解析的時候,返回給你錯誤ip,dns沒有加密,所以同樣雖然用了https,但由於dns解析錯誤,還是無法訪問網站。

dns污染,最好的解決方法是本地hosts文件修改,不請求dns了。以前用just-ping.com的方法得到ip的辦法侷限性太大。可以用第二種方法封掉。證明:

能打開http://just-ping.com/
但是當我們請求的時候:http://just-ping.com/index.php?vh=savedbythegoog.appspot.com&c=&s=ping%21 就打不開了。相當於url過濾。如果just-ping提供https服務,基本上應該能解決了。

雖然just-ping不能用了。國外還是有很多提供online dns服務器的網站,google一個,比如 http://www.dnsqueries.com/en/dns_lookup.php我們查詢savedbythegoog.appspot.com。返回了結果:173.194.70.141。我們添加到hosts,發現可用。那就用這個ip吧。如果不能用,說明該ip被封了,可以用其他網站在測試一下,可能能找到能用ip。

明白了被封的基本原理,做一個例子。比如:https://code.google.com/apis/ajax/playground/?type=visualization#geo_map這個打不開。解決方法如下:

STEP 1:添加hosts記錄

我們用chrome開發工具發現,有一個域名savedbythegoog.appspot.com打不開了。所以添加記錄

173.194.70.141 savedbythegoog.appspot.com

但是比較杯具的是,173.194.70.141 savedbythegoog.appspot.com在原網頁中引用的時候,居然是http協議,這樣會被第二種方法封掉。所以要強制改成https。

STEP 2:chrome強制https

chrome瀏覽器打開chrome://net-internals/。找到左側導航中的HSTS,點擊,在”Add domain”中添加一個domain: savedbythegoog.appspot.com 。然後點擊”Add”

用了這種方法,還是有問題。我們發現控制檯報錯

Uncaught ReferenceError: google is not defined

這是由於chrome的安全策略,Blocking insecure content from http://。所以需要:

STEP 3:更改chrome安全策略。

右鍵chrome的快捷方式,點擊屬性。然後在把目標改成類似:

"C:\Program Files\Google\Chrome\Application\chrome.exe" --allow-running-insecure-content

也就是加一個–allow-running-insecure-content選項。

來源:http://www.1dke.com/news/?739.html#379763-tsina-1-54480-5d2d43b63a56d8af977be9800e7fb648

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章