こんにちは, [XSS] さん!

inject

src

<?php
$eq 
rand(0100) . "+" rand(0100);
$random rand(0100000000000);
$random2 rand(0100000000000);
?>
<head>
    <meta http-equiv="Content-Security-Policy" content="script-src 'nonce-<?= $random ?>' 'nonce-<?= $random2 ?>' 'unsafe-eval';">
    <script src="hook.js" nonce="<?= $random2 ?>"></script>
</head>
<body>
    <script nonce="<?= $random ?>">
     window.addEventListener("load", function(){
         var answer = eval(window.equation.value);
         var user_answer = prompt(window.equation.value + "の答えは?");
         window.result.innerHTML = (answer == user_answer ? "正解!" : "不正解!");
     });
    </script>

    <h1> こんにちは, <?= $_GET['payload'?> さん!</h1>
    <p id="result"></p>

    <h1> inject </h1>
    <form>
        <input type="text" id="payload" name="payload" placeholder="your payload here">
        <input type="hidden" id="equation" value="<?= $eq ?>">
        <input type="submit" value="GO">
    </form>

    <h1> src </h1>
    <?php highlight_string(file_get_contents(basename(__FILE__))); ?>
</body>