JavaScriptリファレンスファイルのスクリプトをウェブページに挿入するのを防ぐことは可能かどうかはわかりませんが、JavaScriptがページレジスタに登録されていない限り、挿入されたJavaScriptリファレンスファイルスクリプト内で関数を実行できないようなサイトがあります。たとえば、異なるプレフィックスを持つ10種類の異なるJQueryスクリプト(異なるバージョンのもの)をGoogle Mailに注入することはできましたが、特定のJQueryコマンドを実行できないようにする優れた仕事をしています。あなたができることはいくつかありますが、たとえばデータを設定するだけではなく、$ jquery171( 'html').html()(ページのソースを見るだけです)などがあります。 Google Mailと同じように、他のスクリプトがWebページで実行されないようにするにはどうすればよいですか?誰もこれを前にしたことがありますか?注入されたJavaScriptファイルの参照コードがWebページで実行されないようにするにはどうすればよいですか?
答えて
あなたが話している脆弱性は、Cross-site Scriptingと呼ばれています。要するにXSS。 OWASPのtop ten projectは、Webアプリケーション開発者として認識すべきその他の一般的な攻撃についても紹介します。
XSSからあなた自身のコードを保護するために、ユーザが提出したデータを出力HTMLページに印刷してはなりません。ユーザーデータを印刷するHTML構造のどこに基づいて、コンテキスト依存の方法でデータをエンコードする必要があります。あなた自身のプログラムから来ないすべてのデータは、HTTPヘッダー、URL、クッキー、フォームPOSTデータ、データベースなどの「外部」システムからのデータを含む、信頼できないものとして扱われるべきであることに注意してください。
HTML出力の出力エンコーディングの基本原則をよく理解するには、XSS Prevention cheat sheetを参照してください。
あなたが悪意を持っているかどうかに関わらず、あなたがGoogleに対して行っていることは違法です。 XSSに対するコードの脆弱性を確認するために、部分的な侵入テストを効果的に実行しています。 GMailはこの種のことをあまり気にしないかもしれませんが、悪意のあるスパムのHTMLメールに対処しなければなりません。あなたが説明したものよりはるかに少ないことで、人々は逮捕され、米国で請求されています。
テストする独自のサイトを開発してください。他人のセキュリティをテストする権限はありません。合法的に攻撃を受けることができる環境を提供するために、WebGoatとGruyereのようなプロジェクトを検討することを検討してください。
@MacGyver答えが大きく更新されました – Cheekysoft
母、私はそれを見ます。しかし、良い説明。それは私が探していたものでした。 +1 – MacGyver
- 1. コードを発行してロードされたアセンブリに注入するにはどうすればよいですか?
- 2. WebページがiPhoneからズームされないようにするにはどうすればよいですか?
- 3. JavaScriptファイルを参照するにはどうすればよいですか?
- 4. GrailsがIntellijで実行されないようにするにはどうすればよいですか?
- 5. iframeでfocus()が実行されないようにするにはどうすればよいですか?
- 6. 実行タイムアウトエラーメッセージが表示されないようにするにはどうすればよいですか?
- 7. プログラムでページを参照するにはどうすればよいですか?
- 8. Richfaces popupPanelがJavaScriptで移動されないようにするにはどうすればよいですか?
- 9. サーブレットでフォーム入力がクリアされないようにするにはどうすればよいですか?
- 10. Scalaでインスタンス化されていないクラスを参照するにはどうすればよいですか?
- 11. ユーザーがC#でファイルを参照できるようにするにはどうすればよいですか?
- 12. ブランクデータがMySQLテーブルに挿入されないようにするにはどうすればよいですか?
- 13. 注文されたテストのみを実行するにはどうすればよいですか?
- 14. ブラウザがInternet Explorerの場合、JavaScriptコードが実行されないようにするにはどうすればよいですか?
- 15. WebViewでJavaScriptが実行されないようにします。
- 16. 注入されたロガーをgrailsで動作させるにはどうすればよいですか?
- 17. CountDownTimerが実行されて完了するようにするにはどうすればよいですか?
- 18. ファイルの場所が表示されないようにするにはどうすればよいですか?
- 19. アプリケーションデータファイルが削除されたときにインストーラが実行されないようにするにはどうすればよいですか?
- 20. 他のドメイン(盗難)でjavascriptコードが実行されないようにするにはどうすればいいですか?
- 21. App.config情報を.NETの参照実行ファイルに含めるにはどうすればよいですか?
- 22. iPhoneの埋め込みブラウザでWebページが実行されているかどうかを検出するにはどうすればよいですか?
- 23. DebuggerNonUserCodeAttributeがデータセットデザイナーによって生成されたコードに配置されないようにするにはどうすればよいですか?
- 24. JavaアプリケーションでXSS攻撃をブロックし、ユーザーがWebページ上でJavaScriptを実行できないようにするにはどうすればよいですか?
- 25. ライトボックスが参照ページに表示されるようにする
- 26. コード化されたUIテストを実行するにはどうすればよいですか?
- 27. gwtでヒストリトークンを起動した後にコードが実行されないようにするにはどうすればいいですか?
- 28. DBGrid:行が選択されないようにするにはどうすればいいですか?
- 29. Windowsでは、レジストリエントリが変更されないようにするにはどうすればよいですか?
- 30. メインウィンドウが閉じられた後、Win32アプリケーションがバックグラウンドで実行されないようにするにはどうすればよいですか?
Javascriptまたは一部の機能を防止しますか?もう少し詳しく、お願いします。そしてGmailについては何ですか?あなたのプロジェクトはそれに関連していますか? – binarious
いいえ、私はちょうどGoogle Mailでテストし、あなたができることとできないことを学ぶために安全性の低い他のサイトと比較しています。私はWeb Application Hackers Handbookという本を読んでいて、現在自分のウェブサイトでやっていないあらゆる種類のことを学んでいます。最終的に、私は誰かが私のウェブサイトのDOM要素を変更できないようにしたい、あるいはJavaScriptを使って何かを本当に変更するのをやめたいのですが、JavaScriptはまだ動作しています。私が推測するベストプラクティスとして、すべてのサイトが実装すべきもの。 – MacGyver
そして、なぜ完全なjavascriptの実行を妨げないのですか? – binarious