chromium: 「このページの読み込みを停止」ボタンをクリックすると URL バーから URL が消去されます

chromium: 「このページの読み込みを停止」ボタンをクリックすると URL バーから URL が消去されます

Chromium の URL バーに URL を入力すると、つまりhttp://10.10.10.3:80サーバーに現在アクセスできない場合、Chromium に読み込みを停止するように指示して、「このページの読み込みを停止」ボタンを押すと、URL が消えます。これはひどいです。

たとえば、ポートが間違っているので、別のポートでもう一度試したいとします。URL 全体をもう一度入力する必要があります。

「このページの読み込みを停止」ボタンを押すと、入力した URL がそのまま表示されるので、修正することができます。

代わりに、以前存在していた「最後の成功した URL」に置き換えられます。

この悪質な機能を修正する方法はありますか?

答え1

この動作は設計によるもので、数年前、すべてのブラウザの開発者は、間違った URL でページが表示されないようにするために多大な努力を払いました。この手法がマルウェアによって使用され始めるまでは、これは実際に可能でした。

あなたが求めている動作はセキュリティホールです。間違った URL のページを表示できる場合、攻撃者は自分のページと一緒にあなたの銀行の URL を表示し、口座番号とパスワードを入力させて、すべての口座を空にすることができます。この抜け穴が塞がれるまで、これは実際に起こりました。

間違った URL が表示されるのは、新しいタブ ページでのみ可能であり、自動的に表示されます。ここで機能する理由は、実際のページが表示されていないため、入力された (間違った) URL を表示しないセキュリティ上の理由がないためです。

この動作は Chromium に特有のものではありません。私がこれまでに見たすべてのブラウザでまったく同じ動作が行われます。これは安全な方法です。

さらに、ブラウザ開発者は、スローされたダイアログがアドレス バーを隠すことも不可能にしました。これは、URL 自体を変更して偽のアドレス バーを模倣することが不可能になると、攻撃者がすぐにこの手法を使用したためです。

私が提案できる唯一の解決策は、 を押す前に長く入力した URL をコピーすることです 。これは私がすでに行っていることです。 念のため、 の前にと をEnter実行する習慣をつけてください 。CtrlACtrlC


攻撃者は、あなたが要求したオプションを利用して銀行のログイン情報を取得することができます。

  • 攻撃者のアドオンまたは JavaScript スクリプトは、 attacker.com/exploitアドレス バーを見れば銀行であることが分かること以外は、銀行とまったく同じように見える独自の Web サイトを表示します。
  • 攻撃者はアドレスバーに銀行の URL またはそれに非常に類似した URL を入力したいと考えますが、開発者によってそのような URL を入力する API がすべて慎重に排除されているため、それはできません。
  • 次に、攻撃者は、銀行の URL と非常によく似た URL を持つ Web サイト、または銀行の URL とまったく同じ名前で表示される Web サイト (Unicode トリック) を呼び出します。
  • この Web サイトは存在しませんが、アドレス バーには間違った URL が表示されます。表示されるページと合わせると、実際に銀行のサイトにいるように見えます。
  • ログインすると、数秒後には銀行口座の残高がすべて空になっています。貯金もすべて消えてしまいます。銀行は当然ながら、これはあなたの責任だと主張し、何も返しません。

答え2

これは、Web トラフィックの仕組み上不可能です。各リクエストには結果のステータスがあり、それを必要とし、ステートレスにすることはできません。そのため、Chromium は接続しようとしていたアドレスを削除します (セキュリティ面以外)。

ドメイン/IPへの接続をリクエストすると、結果は、たとえば、200(ページの読み込みが正常)、404(見つかりません)、408(タイムアウト)などになります。状態に到達する前にリクエストをキャンセルすると、キャンセルアクションのためにブラウザに結果/URLが表示されず、「キャンセルされたリクエスト」を表すHTTP状態XXXコードがないことは明らかです(httpリクエストのリスト)。

不可能なことは何もありません。この問題を解決するには 3 つの方法があります。

  • 問題の拡張子を作成する
  • キャンセルされたリクエストの状態(非 RFC)を追加するための Chromium へのパッチxxx(Chromium のビルドには非常に長い時間がかかることに注意してください)
  • デフォルトtimeout(408)を減らすと、パッチを当てずにクロムでは不可能議論されているここそしてここ同じように。
    • これにより、サイトのタイムアウトなど、望ましくない影響が生じる可能性があることに注意してください。
    • network.http.connection-timeoutまた、設定により Firefox でもこれが実行可能であることに注意してください。

答え3

いい練習

この煩わしさを回避する簡単な方法があります。または を
押して新しい タブまたは新しいウィンドウを開き、そこに新しい URL を入力するだけです。Ctrl TCtrl N

手動で中断した場合、事前に読み込まれたページはなく、URL はバーから削除されません。

修理

修正したい場合は、更新ごとにソース コードを手動でパッチして再コンパイルする必要がある場合があります。

ソース コードをダウンロードし、フォークを作成して、次の更新された各バージョンに差異を適用すると便利かもしれません。ただし、現在の動作は詐欺の試みを回避するために行われていることに注意してください...したがって、上記のベスト プラクティスに従ってください。

最終的なコメント(要約)

多くの場合、適切なプログラム設定を見つけるよりも行動を変える方が簡単だとわかっています...しかし、そうであってはなりません...

実際のところ、今回は、私たちが行動を変えることを示唆し、それが良い習慣であるとみなせる重大な理由があります。

この場合、提案されているのは、プログラムの動作を変更する方法を見つけることではなく、潜在的なリスクを回避するために (2 つのキーを押すだけで) 動作を変更することです。

関連情報