説明
WEBサイトまたはアプリケーションは、DOMベースのクロスサイトスクリプティング(XSS)に対して脆弱です。 Cross-sitescriptingは、悪意のある攻撃者がwebアプリケーションをだまして、自分の選択したjavascriptまたはHTMLコードを出力することを可能にします。 この悪意のあるコードは、疑うことを知らないユーザーのブラウザで実行されると、あなたのwebアプリケーションから来ているように見えます。
従来のXSSは脆弱なバックエンドのCGIscriptsを利用してサービスされたページに直接コードを出力しますが、DOMベースのXSSは脆弱なJavaScriptスクリプトを利用してユーザーのブラウ たとえば、次の脆弱なスクリプトを使用してXSSattackを起動することができます。
var loc=document。場所+’?gotoHomepage=1′;ドキュメント。write(‘<a href=”‘+loc+'”>Home</a>’);
この場合、JavaScript変数”document.場所”は、攻撃者の直接controlofの下にありますが、それはなしで文書の内容に直接書き込まれていますescaping.An 攻撃者は<script>タグを含むURLを構築し、疑うことを知らないユーザーをだまして脆弱なwebサイトを訪問させる可能性があります。 このようなURL ashttp://your_application/index。html?”><スクリプト>アラート(文書。cookie)</script>を構築すると、上記のスクリプトが攻撃者の悪意のあるスクリプトタグをユーザーのドキュメントに直接書き込み、そこで実行されます。
エクスプロイトスクリプトを作成することができます:
- 他のクライアントのプライベートイントラネット内の他のサイトにアクセスします。
- 別のクライアントのcookieを盗みます。
- 別のクライアントのcookieを変更します。
- 別のクライアントから送信されたフォームデータを盗みます。
- 別のクライアントが送信したフォームデータを(サーバーに到達する前に)変更します。
- パスワードやその他のアプリケーションデータを変更するフォームをユーザーに代わってアプリケーションに送信
最も一般的な攻撃方法は次の二つです:
- 電子メールで送信されたURLリンクをクリックする
- ウェブサイトを訪問している間にURLリンクをクリックする
どちらのシナリオでも、URLは一般に信頼されたサイトにリンクされますが、XSS攻撃をトリガーするために使用される追加のデータが含まれます。
SSL接続はこの問題から保護しないことに注意してください。