クロスサイトスクリプティング(XSS)
クロスサイトスクリプティング(cross-site scripting, XSS)
テキストエリアに<script>alart()</script>を入力してサブミットすると実行できてしまうようなやつ
不正なスクリプトが実行されて情報を取られるなどする
#CWE-384
起こること
セッションIDの固定化
セッション・フィクセーション(session fixation)
攻撃者が用意したセッションIDを使って正規の利用者にログインさせる
ブラウザが保存しているCookieを取得される
フィッシング
対策
各種ヘッダーのチェック
エスケープ処理の実施
サニタイジング
CookieにHttpOnly属性をつけてJavaScriptからCookieにアクセスできないようにする
WAFの導入
HTTPレスポンスヘッダのContent-Typeフィールドに文字コード(charset)を指定する。
code:mermaid
sequenceDiagram
participant C as Client(ブラウザ)
participant W as Webアプリケーション
C->>W: (1) GET
Note right of W: (2) CSRFトークン生成
W-->>C: CSRF token=yyy(hidden)
C->>W: (3) POST(CSRFトークン=yyy)
Note right of W: (4) CSRFトークン検証
W-->>C: CSRF token=yyy(hidden)
C->>W: (5) GET
Note right of W: (6) Refererチェック?
W-->>C: CSRF token=yyy(hidden)
lets-get-arrested/README.ja.md at master · hamukazu/lets-get-arrested
アラートループ事件(2019年3月)の関連のやつ
URLクリック先でメッセージが無限ループで出るやつをやって補導された事件
確認用
Q. クロスサイトスクリプティング(XSS)
Q. クロスサイトスクリプティングでどういう被害が起こるか
参考
クロスサイトスクリプティング(XSS)の対策|攻撃の仕組みと危険性を解説 | AeyeScanメディア
クロスサイトスクリプティングとは - とほほのWWW入門
安全なウェブサイトの作り方 - 1.5 クロスサイト・スクリプティング | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
関連
クロスサイトリクエストフォージェリ(CSRF)
標的型攻撃?
SQLインジェクション
メモ
セッションの固定化【Session Fixation】とは|図でわかる脆弱性の仕組み | ユービーセキュア
XSS(クロスサイトスクリプティング)とは?攻撃手法と5つの対策を紹介
調査用
/pogi-log/Google.icon クロスサイトスクリプティング
/pogi-log/Google.icon XSS
/pogi-log/Google.icon cross site scripting
/pogi-log/Google.icon XSS
/pogi-log/Wikipedia.icon
クロスサイトスクリプティング - Wikipedia(日)
クロスサイトスクリプティング(検索) - Wikipedia(日)
/pogi-log/Wikipedia.icon
Cross-site scripting - Wikipedia(英)
Cross-site scripting(検索) - Wikipedia(英)