いま中国国内からyahoo.co.jpのコンテンツとか海外系のコンテンツ開くと一回開いた後にwpkg.orgへリダイレクトされちゃう問題が流行ってる。
結論から言うといつもどおりのDNSポイズニング「だけ」のようだ。
▽ 現象
- facebookのjsが呼ばれる
http://connect.facebook.net/ja_JP/sdk.js
- なぜか下記にリダイレクトされる
http://wpkg.org/my.js
- 結果が戻ってくる
window.location.href = 'http://wpkg.org/';
- ブラウザで読み込んでる場合はこのJSにより、wpkg.orgへリダイレクトされる
▽ 何が起きてるか
- DNSポイズニングでconnect.facebook.netのIPが書き換えられてる
# みんな大好きGoogleDNSにつなぐ > server 8.8.8.8 Default server: 8.8.8.8 Address: 8.8.8.8#53 > connect.facebook.net Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritative answer: connect.facebook.net canonical name = connect.facebook.net.edgekey.net. connect.facebook.net.edgekey.net canonical name = e3821.dspe1.akamaiedge.net. Name: e3821.dspe1.akamaiedge.net Address: 23.67.175.139 # 中国電信の糞DNSに変更する > server 202.96.209.133 Default server: 202.96.209.133 Address: 202.96.209.133#53 > connect.facebook.net Server: 202.96.209.133 Address: 202.96.209.133#53 Non-authoritative answer: Name: connect.facebook.net Address: 148.251.0.55
- wpkg.orgのサーバーの設定の問題
wpkg.org以外のドメイン(例外あるっぽいけど)でアクセスされたらwpkg.orgへリダイレクトするhttp://148.251.0.55/aaaaaaaaaaaaaaaaaaaaaaaaaa
更に、拡張子がjsだとどんなURLであっても必ず/my.jsへリダイレクトする
http://148.251.0.55/a/b/c/d/e/f/g.js
- 結果としてDNSポイズニングで148.251.0.55に書き換えられたドメインのJSは全てmy.jsへと書き換えられるので、Facebookコネクトを導入しているサイトは全てwpkg.orgへと飛ばされてしまう
▽ 対応方法
一度ブラウザキャッシュとDNSキャッシュが汚染されるとVPN使ってもダメなので下記2点を実施すると良い
- ブラウザのコンテンツキャッシュをクリアする(Cookieとかはそのままで問題ない)
- DNSをGoogleのDNS(8.8.8.8 / 8.8.4.4)など信頼のおけるDNSに設定する
▽ 誰がこのクソッタレな真似をしてるのか
多分軍とか政府だと思う。電信のデータセンターを運営してる組織とそういう組織がつながってんじゃないかと同僚とかは言ってるでどどこまで本当なのかわからない。
▽ 参考
- WPKG.org currently undergoing possible attack from Great Firewall of China : technology
http://www.reddit.com/r/technology/comments/33xc0u/wpkgorg_currently_undergoing_possible_attack_from/