×
サイバー攻撃について
  • 被害者が特別なURLを開かなくても発生する

  • 多数の利用者へ継続的に影響する可能性がある

  • 管理画面で発火すると影響が大きくなりやすい

  • Server XSSの場合とClient XSSの場合がある


3. DOM-based XSS


DOM-based XSSは、ブラウザー内のJavaScriptが信頼できない値を読み取り、危険なDOM操作へ渡すことで発生します。

const value = location.hash.slice(1);
document.querySelector("#output").innerHTML = value;

この例では次のように整理できます。

項目内容
Sourcelocation.hash
SinkinnerHTML
発生場所ブラウザー
サーバーレスポンスの変更必須ではない

OWASPは、DOM-based XSSをClient XSSの一部として整理しています。


Server XSSとClient XSS


Server XSS

サーバーが信頼できないデータを、危険な状態でHTMLレスポンスへ埋め込むXSSです。

入力
 ↓
Django・PHP・Javaなどのサーバー処理
 ↓
危険なHTMLレスポンス
 ↓
ブラウザーで実行

Server XSSには次が含まれます。

  • Reflected Server XSS

  • Stored Server XSS