問題タブ [man-in-the-middle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - HTTPS にリダイレクトしても、ユーザーとの安全な接続を確立できますか?
したがって、これはやや大雑把な質問ですが、私よりも賢明な人が、SSL のすべての詳細をまとめるのに役立つ要約の回答を提供できることを願っています。
最近、私は Moxie Marlinspike が BlackHat でプレゼンテーションを行っているビデオを見て、1 時間が終わった後、「自分が何をしようと、実際には問題ではない。意志の強いハッカーには常に道がある」と考えました。彼の最後の例を思い出してください。ユーザーが HTTP アドレスを入力して直接 HTTPS に移動するときにリダイレクトを使用したとしても、攻撃者がその遷移で MITM を介して自分自身を挿入する機会がまだあることを示しました。
そのため、ブラウザーが常にデフォルトで HTTP を使用し、ユーザーがアドレス バーに直接 HTTPS アドレスを入力することはほとんどない場合、銀行 X の Web サイトへのアクセスをリッスンしている攻撃者は、HTTP -> HTTPS リダイレクト中に常に制御を取得する機会を得ることができます。それらは同じネットワーク上にある必要があると思いますが、それはほとんど慰めにはなりません. Marlinspike のポイントは、代替ではなく標準として HTTPS を使用するまで、これは常に問題になるということだったようです。
私はこれを正しく理解していますか?移行中に攻撃者が MITM を使用して制御を取得できる場合、HTTPS にリダイレクトする意味は何ですか? 誰かが自分自身を守るために取るかもしれない予防策について何か手がかりを持っていますか? HTTPS リンクを難読化する JavaScript を介してリダイレクトする (転送中に取り除かれないようにする) ことは役に立ちますか? どんな考えでも大歓迎です!
ubuntu - ettercap フィルタリングが機能しない
ettercap フィルターを使用できません。私が考えることができる最も単純なフィルターでさえ書いています:
しかし、それでもうまくいきません。etterfilter を使用してコンパイルして実行すると、次のようになります。
sudo ettercap -F /tmp/filter.ef -T -M arp -i wlan1 /192.168.1.6/ //
メッセージは出力されません。パケットの視覚化では、TCP パケットが表示されますが、ettercap が「/tmp/filter.ef からロードされたコンテンツ フィルター」と表示されていても、フィルターが機能していないように見えます。
これを解決するために、ip_forward を有効にしてみました。「#」記号を削除して、/etc/etter.conf
redir_command に iptables を使用するようにしました (168 ~ 169 行目)。
askubuntu.comにも載せてみました
https://askubuntu.com/questions/251866/ettercap-filtering-doesnt-work
フィルタリングを機能させる方法を知っていますか?
使っettercap NG-0.7.4.2
ていますUbuntu 12.10
security - SSL と中間者の誤解
この問題に関連するドキュメントをたくさん読みましたが、まだすべてをまとめることはできないので、いくつか質問したいと思います。
最初に、私が理解している認証手順を簡単に説明しますが、その点で誤解される可能性があります。クライアントが接続を開始し、サーバーが公開鍵、メタデータ、デジタル署名の組み合わせで応答します。信頼できる機関。次に、クライアントはサーバーを信頼するかどうかを判断し、ランダムなセッション キーを公開キーで暗号化して送り返します。このセッション キーは、サーバーに保存されている秘密キーでのみ復号化できます。サーバーがこれを実行すると、HTTPS セッションが開始されます。
したがって、上記が正しければ、問題は、そのようなシナリオで中間者攻撃がどのように発生するかです。つまり、誰かが公開鍵でサーバー (例: www.server.com) の応答を傍受し、自分が www.server.com であると私に思わせる何らかの手段を持っていたとしても、彼は私のセッション鍵を解読することはできません。秘密鍵なし。
相互認証について言えば、クライアント ID に関するサーバーの信頼がすべてなのでしょうか? つまり、クライアントは適切なサーバーと通信していることをすでに確信できますが、サーバーはクライアントが誰であるかを知りたがっていますよね?
そして最後の質問は、相互認証の代替案についてです。上記の状況でクライアントとして動作する場合、SSL セッションが確立された後に HTTP ヘッダーでログイン/パスワードを送信するとどうなりますか? 私が見たところ、この情報は傍受できません。接続は既に保護されており、サーバーはそれを信頼して識別できるからです。私が間違っている?相互認証と比較して、このようなアプローチの欠点は何ですか (実装の複雑さではなく、セキュリティの問題のみが重要です)。
apache - Apache で mod_proxy を使用して HTML を操作する (例: 広告を削除する)
今のところこれは単なる技術的な課題ですが、基本的には次のことを行いたいと考えています。
mod_proxy
およびを使用して Web ベースのリバース (ゲートウェイ) プロキシを作成します。これmod_proxy_html
は、プロキシのホスト名と一致するように HTML URL を書き換えるだけでなく、プロキシされている HTML を書き換えまたは操作します。
「中間者」ゲートウェイ プロキシでのこの操作により、次のようなあらゆる種類の操作が可能になります。
- 広告を削除
- テキストをある言語から別の言語に翻訳する
- それ以外の場合は、元のサイトをハッキングまたは「改善」します
もちろん、多くの悪いことに使用される可能性もありますが、それはこの質問の範囲外です。
が元の HTML を解析してすべての URL を書き換えることは知っていmod_proxy_html
ますが、解析中の HTML を評価して操作する独自のコードを作成することもできますか? または、このための他のモジュールはありますか?
または、これを実行できるリバース プロキシはありますか? この目的に適した言語であれば、喜んで適応します。
wcf - Web サービスへの呼び出しが表示されないように保護する方法
imはsilverlight 5とWCFを使用しており、サイトはHTTPSで保護されています。ただし、 fiddler を使用すると、ヘッダーでこれを見ることができます: GET /ClientBin/XXXX-Web-MyService.svc/binary/GetUsers
ドメインの直後にそれを置く場合: https://www.mydom.com/ClientBin/XXXX-Web-MyService.svc/binary/GetUsers
テーブルユーザーからすべてのデータをダウンロードします。この情報を非表示にして保護するにはどうすればよいですか!! SSLを十分に使用していませんか?httpsを使用している場合、とにかくこれが表示されるのはなぜですか!?
ありがとうございました。
編集:私の最初の質問は「教育を受けていない」ものでした。そのため、お詫び申し上げます。
この件に関するより多くの情報を見つけ、さらに調査を行いました。SO に関するこの Q では、fiddler が https 経由で送信された要求と応答を復号化して表示できる理由についての説明があります。
Fiddler 2 が HTTPS 経由のすべての呼び出しを復号化できる場合、SSL のポイントは何ですか?
さらに困難なことに、この問題の一般的な解決策は
、System.Net 名前空間の Silverlight 実装に含まれていない System.Net.ServicePointManager の使用を必要とする「証明書のピン留め」を使用することです。
だからここで私はSSL証明書で立ち往生しています。私が支払ったものは、Web デバッグの基本的な知識があれば誰でも「クラック」できます。
android - SSL証明書を中間CA証明書として使用することは可能ですか?
AndroidでMITMテスト環境をセットアップしていますが、偽の証明書を偽造してアプリケーションに提示する必要があります。これを実現するには、CAがAndroidの信頼できるものの中にある必要があります。つまり、CAの証明書を手動でインストールする必要があります。
そして、私はこの特定のステップを避けたいと思います。
私は、GoDaddyまたはGeoTrustによって発行された適切な(=購入)証明書を取得することを考えていました。これらは両方ともAndroidによって信頼されています。ただし、この証明書を偽造された偽物の中間CAとして使用する必要があります。
出来ますか?考慮していない論理的/実用的な制限はありますか?
android - Android は SSL の中間者攻撃を防ぎます
Android アプリで HTTPS を使用して、独自の API と通信しています。パケット スニフを実行すると、適切な情報が表示されません。ただし、Fiddler2 などのソフトウェアを使用して信頼できる証明書を Android にインストールすると、すべての HTTPS 呼び出しが平文で表示されて危険です。
問題はこの男に非常に近いですが、Android では iPhone ではありません: フィドラーからの iOS HTTPS 呼び出しの非表示
私は https 呼び出しを行うために loopj ライブラリを使用しています: Android Asynchronous Http Client http://loopj.com/android-async-http/
このような脆弱性にどのように対処できますか?? (私は概念的にそれを扱う方法を知っていますが、サンプルコードが必要です)
filter - ettercap を使用してリクエスト パラメータを変更する
HTTP GET メソッドのリクエスト パラメータを変更しようとしていますが、作成したフィルタが期待どおりに動作しません。これが ettercap を使用して可能かどうかさえわかりません。これまでのところ、次のフィルターを作成しました。
URLに「有効期限」があってもメッセージは出力されません。パターンがメッセージの本文に含まれていれば機能すると思いますが、URL 部分を変更する必要があります。フィルターまたは ettercap の他のメカニズムを使用してそれを達成することは可能ですか?
ssl - 転送されたデータを socat を使用してスクリプトにフォークする方法は?
socatを使用して、クライアントとサーバーの間で転送されたデータを分析したいと考えています。次のコマンドを使用して、socatを中間者として設定できました。
転送されたデータを見ることはできますが、それをスクリプトに送信して、後で分析できるように処理したいと考えています。
転送された各データパケットをスクリプトに送信できるようにするための解決策を知っている人はいますか?