タイトル
DOM XSS in AngularJS expression with angle brackets and double quotes HTML-encoded
概要
AngularJS アプリケーションで、URLのクエリパラメータをそのまま式展開してDOM-based XSSを実行
攻撃手順
- 開発ツールでソースを確認し、使用しているライブラリ及び直書きしているスクリプトを確認
- 検索箇所などから、URLクエリパラメータがそのまま式展開されている箇所を特定
- 実際に入力したスクリプトが実行されるか確認
- 通常のスクリプトがエスケープされているなど何か対策がされていれば、AngularJSの式展開におけるスクリプトを実施
- 通常の
alertが実行されない場合、print.constructorを利用したペイロードを試す
対策
- URLパラメータをそのまま式展開せず、エスケープなど必要な処理を行う