You don't have javascript enabled. Good luck! :(

XSS に対するセキュリティ

最終更新日: 2018/08/04

サンプルの基本形式

雛形は上記を使います。

HTML のエスケープ

テンプレート

URL

http://localhost:3000/check1?p=<script>alert(document.cookie)</script>

結果

上記のURLでアクセスした場合は以下のように <> がエスケープされる。

そのため XSS は発生しない。(エスケープについての詳しい流れは変数展開処理の流れを参照せよ。)

画面の書き換え

テンプレート

URL

http://localhost:3000/check2?p="></form>XSS"

結果

以下のようにエスケープ処理 (", <, >) が行われるため、安全

引用符で囲まれない属性値のXSS

テンプレート

URL

http://localhost:3000/check3?p=1+onmouseover%3dalert(document.cookie)

結果

以下のように " が無い場合は自動的に追加するため、安全

href属性やsrc属性のXSS

テンプレート

URL

http://localhost:3000/check4?p=javascript:alert(document.cookie)

結果

以下のように JavaScript のエスケープは何も行われないため、XSS が発生する。

JavaScript の動的生成

テンプレート

URL

http://localhost:3000/check5?p='),alert(document.cookie)//,alert(document.cookie)//)

結果

XSS が発生する。JavaScript のエスケープ処理が行われないため。