簡単に言うとは、ハイジャックHTTP、通常のWebユーザのアクセス、挿入広告や他のいくつかの各種のものを改ざん何らかの方法でオペレータであるDNSハイジャック、の概念を説明します。
ハイジャックオペレータの最初のいくつかの分析を行う、彼らの唯一の目的は、2つの方法でお金を稼ぐ、お金を稼ぐことです。
1、Webページやポップアップ広告内の浮動層を含む通常のサイト上で追加の広告。
2、広告ネットワークやアフィリエイトのリンクを持つサイトの数のために、尾を促進するために参加します。このような共通のアクセスBaiduのホームページとして、フロントにジャンプすることですhttp://www.baidu.com/?tn=90509114_hao_pg
特定のアプローチでは、一般にHTTP及びDNSハイジャックハイジャックに分割されます。
DNSハイジャック:
一般的には、インターネットDNSサーバーのユーザーはそう、このノードでは、事業者は、彼らがやりたいことができ、キャリアによって割り当てられます。
例えば、アクセスhttp://jiankang.qq.com/index.html、それは通常のDNSテンセントIPに返す必要があり、およびDNSハイジャックした後、キャリア中間サーバのIPアドレスを返します。アクセスサーバーは、ユーザーのブラウザが良い事前広告をページにジャンプするように、一貫性の302を返し、そのページ上のiframeを介してユーザのアクセス元のアドレスを再オープンします。
HTTPハイジャック:
それはHTTPリクエストを発見された場合、ルータノード演算子は、プロトコル検出を提供し、要求タイプは、HTML、傍受プロセスです。多くの場合、2種類に分け、その後の練習、ブラウザ302をハイジャック同様のDNS戻るの一種は、ユーザーが別のアドレスにジャンプすることができ、サーバによって返されたHTMLデータ内の一種類または挿入されたDOMノードJS(広告)があります。
ユーザーの視点では、これらのハイジャックされた性能がに分かれています。
1、URLは無実のジャンプは、より尾促進することです。
図2に示すように、追加の広告(IFRAMEモードまたは同じページに挿入直接DOMノード)ページが表示されます。
アプローチ:
1、状況を報告し、テストを行うための第一の外部ネットワークは、ハイジャックされました。
私のビジネスのために、プラス尾の推進は、意味をなさないインプラントの問題の広告の後、残りの部分。ページの広告も、iframeのDOMノードの道を経由して帰りの両方のケースでチェックする必要があるかもしれません。
window.addEventListener('DOMNodeInserted', checkDivHijack);
function checkDivHijack(e) {
var html = e ? (e.srcElement.outerHTML || e.srcElement.wholeText) : $('html').html();
var reg = /http:\/\/([^\/]+)\//g;
var urlList = html.match(reg);
if (!urlList || urlList.length == 0) {
return;
}
reg = /^http:\/\/(.*\.qq\.com|.*\.gtimg\.cn|.*\.qlogo\.cn|.*\.qpic\.cn|.*\.wanggou\.com)\/$/;
var hijack = false;
for (var i = 0; i < urlList.length; i++) {
if (!reg.test(urlList[i])) {
hijack = true;
break;
}
}
}
(注:後の検査では、URLが状況がハイジャックに見つけることができるものの、厳しい十分ではありませんが、また、元の製品のいくつかは、通常、<A HREF =「http://jiankang.qq.comとして虚偽のハイジャックをするために挿入されていることがわかりました。 「データ-ID =」1「>が、これは、小さなディテール、[OK]を完璧な程度の正規表現です)
IFRAMEのケースがロードされるために2は、あなたは、オペレータによって設定されたハイジャック法を見つける必要があります。
通常オープンではなく、インラインフレームを追加iframe内のWebページには、マーキングを行う事業者におそらくリクエストURLまたはクッキーので、傍受されています。私たちは、ハイジャックを生き延び、このルールを使用することができます。
図3は、DOMノードを注入する場合について、検診は、初期化、およびフォローアップ検診はまた、DOMを注入されます。彼らはいずれかの場合は、httpハイジャックのように決定することができ、ホワイトリスト以外含まれている場合は、httpリンクDOMを確認することができます。
同様にフロントエンド以外4、アプローチ
a)は、端子台は、ブラックリストIP(中間ハイジャックIP)から決定されたすべての返信パケットは、パケットが破棄される返します。
このアプローチの理由は、事業者はハイジャックHTTP要求、要求パケットが完全に破棄されていませんが、レプリケーションを行うためにということであるダイレクトリターン302をハイジャックして取引をすることに加えて、ターゲットサーバーを送信し続けます。302は通常のターゲットサーバよりもはるかに早く戻りますので、ユーザーのブラウザは最初の302を認識するが、正常な状態に復帰した後に廃棄されます。
最初は、最初の302を破棄した場合、通常の後の復帰を待って、問題が解決されます。
B)端子台要求パケット、及び送信アンパック。
オペレータは、一般に、又は、HTTPリクエストか否かを判定することにより、ハイジャックか否かを判断します。これではないでしょうでない場合は、完全なHTTPプロトコル、十分な情報の乗っ取りを取得できません、そして、通常はTCPコネクションが確立された後、マークされることはありません、完全なHTTPプロトコルがある場合は、最初のパケットを検出HTTPプロトコルは標識されています。
だから、限り、要求パケットは、ハイジャックの一部を逃れるために、薄い十分にスライスされた(オペレータは、より多くのパケット傍受Meizheを行うには「壁」偉大な努力を学んでいる場合)。
図5は、当然のことながら、最終的には、根本的な解決策は、HTTPSを使用することですが、これはビジネス、高コストの多くを変更する必要があります。あなたは、おそらくより良い適切な改善実践を通して少額の割合を、ハイジャックした場合。
検出されたハイジャック例を見てみましょう:
全体のPV事業の1500万日、まだ100万例の乗っ取りの報告があるが、でも、偽陽性の半分を除外すれば、また利用者の20人の代表は、それがハイジャックされる状況が表示さに近づいてユーザーを持っていると述べました。
目に見える、小さな事業者の様々な(特にモバイル)の心がどのように黒です!勇気はどのくらいです!
様々な手段がハイジャックされています:
1、広告と直接HTMLを返します。
図2に示すように、元のHTML JSに挿入し、その後広告JSのスクリプトに配置されます。
3、オリジナルの通常のWebページを表示するインラインフレーム。
醜い顔のすべての種類が記録されます。