More Related Content
Similar to 体系的に学ばないXSSの話 (20)
体系的に学ばないXSSの話
- 15. <?php $mail = $_GET['mail']; ?>
<input type="text" name="mail" value="<?php echo $mail
?>">
<input type="text" name="mail" value="1">
<script>alert(document.cookie)</script>">
動的に要素や属性値を出力するときは、「<」、「>」、「&」、「"」、
「'」を必ずエスケープする
「1"><script>alert(document.cookie)</script>」
- 16. <?php $mail = htmlspecialchars($_GET['mail'],
ENT_QUOTES); ?>
<input type=text name=mail value=<?php echo $mail ?>>
<input type=text name=mail
value=1 onmouseover=alert(document.cookie)>
属性値は必ず、「"」や「'」の引用符で囲みましょう
※「"」で囲むことを推奨
「1 onmouseover=alert(document.cookie)」
- 18. <?php $param = htmlspecialchars($_GET['param'],
ENT_QUOTES); ?>
<... onclick="methodA('<?php $param ?>')">
<... onclick="methodA(''); alert(document.cookie)//')">
イベントハンドラ系は文字参照が解釈されてしまい、alertが実
行される
JavaScriptの文字列リテラルとしてエスケープしてから、
HTMLエスケープする必要がある
「');alert(document.cookie)//」