南邮网络攻防训练评台-/x00

南邮网络攻防训练评台-/x00

时间:2016-11-13 作者:zhankehua 评论:0 点击:2425 次

题目如下:

view-source:

    if (isset ($_GET['nctf'])) {
        if (@ereg ("^[1-9]+$", $_GET['nctf']) === FALSE)
            echo '必须输入数字才行';
        else if (strpos ($_GET['nctf'], '#biubiubiu') !== FALSE)   
            die('Flag: '.$flag);
        else
            echo '骚年,继续努力吧啊~';
    }


很显然,这是要利用ereg的一个漏洞进行绕过。那么这个漏洞是什么呢?题目已经给的很明确了。以下是我个人的测试代码:

2016-11-13_121231.jpg

运行结果为:192.168.2.1i am a hacker 并不是我们想要的 you are wrong!

说明,ereg在遇到空字符时,认为结束。针对上题,那就好办了,构造一个符合上面逻辑关系的字符串就行了。我的构造如下:

http://teamxlc.sinaapp.com/web4/f5a14f5e6e3453b78cd73899bad98d53/index.php?nctf=123%00%23biubiubiu


运行结果如下图:

2016-11-13_121520.jpg


注意啊,#符合一定要进行URL编码,否则会出错的了:)


已有 2425 位网友参与,快来吐槽:

发表评论

必填

选填

选填

◎欢迎参与讨论,发表您的看法、交流您的观点。