Your session id

[XSS]

src of this page

<?php
// Challenge: Let's try to leak `session_id()` value by abusing HTML tag injection found in the middle of this page.
// More specifically, the task for you is to create a cross-origin web page that injects some tags to this page by framing and determine the value of `session_id()`.
// There's no crawler like usual CTFs, so you should try your PoC(s) in your browser.
//
// Hint 1: You can inject <style> tags with the tag injection.
// Hint 2: You can construct a style which leaks the first character of `session_id()` easily as explained by the presentation slide.
// Hint 3: You can interact with a server which receives the leakage, from the web page you created.

session_start();
header("Content-Security-Policy: script-src 'none';");
if (!isset(
$_GET['q'])){
    
header('Location: /?q=[XSS]');
}
?>
<html>
    <head>
        <title>CSS Injection</title>
        <style>.container{width: 80%;font-size: 17px;} .bold{font-weight: bold;} .note{font-size: 10px;}</style>
    </head>
    <body>
        <h1>Your session id</h1>                
        <input type="text" name="sample01" value="<?= session_id() ?>">


        <!-- Here is an injection point :-) -->
        <?= $_GET['q'?>
        
        <hr>
        <div>
            <h2>src of this page</h2>
            <?php highlight_file(__FILE__); ?>
        </div>
    </body>
</html>