
南邮网络攻防训练评台-/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的一个漏洞进行绕过。那么这个漏洞是什么呢?题目已经给的很明确了。以下是我个人的测试代码:
运行结果为:192.168.2.1i am a hacker 并不是我们想要的 you are wrong!
说明,ereg在遇到空字符时,认为结束。针对上题,那就好办了,构造一个符合上面逻辑关系的字符串就行了。我的构造如下:
http://teamxlc.sinaapp.com/web4/f5a14f5e6e3453b78cd73899bad98d53/index.php?nctf=123%00%23biubiubiu
运行结果如下图:
注意啊,#符合一定要进行URL编码,否则会出错的了:)
本文标签:
转载请注明出处: http://www.itsec365.cn/?id=21
已有 2425 位网友参与,快来吐槽:
发表评论