1

JavaScriptリファレンスファイルのスクリプトをウェブページに挿入するのを防ぐことは可能かどうかはわかりませんが、JavaScriptがページレジスタに登録されていない限り、挿入されたJavaScriptリファレンスファイルスクリプト内で関数を実行できないようなサイトがあります。たとえば、異なるプレフィックスを持つ10種類の異なるJQueryスクリプト(異なるバージョンのもの)をGoogle Mailに注入することはできましたが、特定のJQueryコマンドを実行できないようにする優れた仕事をしています。あなたができることはいくつかありますが、たとえばデータを設定するだけではなく、$ jquery171( 'html').html()(ページのソースを見るだけです)などがあります。 Google Mailと同じように、他のスクリプトがWebページで実行されないようにするにはどうすればよいですか?誰もこれを前にしたことがありますか?注入されたJavaScriptファイルの参照コードがWebページで実行されないようにするにはどうすればよいですか?

+0

Javascriptまたは一部の機能を防止しますか?もう少し詳しく、お願いします。そしてGmailについては何ですか?あなたのプロジェクトはそれに関連していますか? – binarious

+0

いいえ、私はちょうどGoogle Mailでテストし、あなたができることとできないことを学ぶために安全性の低い他のサイトと比較しています。私はWeb Application Hackers Handbookという本を読んでいて、現在自分のウェブサイトでやっていないあらゆる種類のことを学んでいます。最終的に、私は誰かが私のウェブサイトのDOM要素を変更できないようにしたい、あるいはJavaScriptを使って何かを本当に変更するのをやめたいのですが、JavaScriptはまだ動作しています。私が推測するベストプラクティスとして、すべてのサイトが実装すべきもの。 – MacGyver

+0

そして、なぜ完全なjavascriptの実行を妨げないのですか? – binarious

答えて

2

あなたが話している脆弱性は、Cross-site Scriptingと呼ばれています。要するにXSS。 OWASPのtop ten projectは、Webアプリケーション開発者として認識すべきその他の一般的な攻撃についても紹介します。

XSSからあなた自身のコードを保護するために、ユーザが提出したデータを出力HTMLページに印刷してはなりません。ユーザーデータを印刷するHTML構造のどこに基づいて、コンテキスト依存の方法でデータをエンコードする必要があります。あなた自身のプログラムから来ないすべてのデータは、HTTPヘッダー、URL、クッキー、フォームPOSTデータ、データベースなどの「外部」システムからのデータを含む、信頼できないものとして扱われるべきであることに注意してください。

HTML出力の出力エンコーディングの基本原則をよく理解するには、XSS Prevention cheat sheetを参照してください。

あなたが悪意を持っているかどうかに関わらず、あなたがGoogleに対して行っていることは違法です。 XSSに対するコードの脆弱性を確認するために、部分的な侵入テストを効果的に実行しています。 GMailはこの種のことをあまり気にしないかもしれませんが、悪意のあるスパムのHTMLメールに対処しなければなりません。あなたが説明したものよりはるかに少ないことで、人々は逮捕され、米国で請求されています。

テストする独自のサイトを開発してください。他人のセキュリティをテストする権限はありません。合法的に攻撃を受けることができる環境を提供するために、WebGoatGruyereのようなプロジェクトを検討することを検討してください。

+0

@MacGyver答えが大きく更新されました – Cheekysoft

+0

母、私はそれを見ます。しかし、良い説明。それは私が探していたものでした。 +1 – MacGyver

関連する問題