地址:http://www.shiyanbar.com/ctf/2008
题目:http://ctf5.shiyanbar.com/DUTCTF/index.php
查看此文件发现
查看此文件:ctf5.shiyanbar.com/DUTCTF/index.php.txt
得到代码:
<?php if(eregi("hackerDJ",$_GET[id])) { echo("<p>not allowed!</p>"); exit(); } $_GET[id] = urldecode($_GET[id]); if($_GET[id] == "hackerDJ") { echo "<p>Access granted!</p>"; echo "<p>flag: *****************} </p>"; } ?>
此处得知,会首先在提交的id中查找是否包含hackerDJ,如果包含则退出
另需要对id进行url解码,判断解码后的值是否等于hackerDJ,如果相当则得到flag
此处需要构造hackerDJ,让其同时满足此处的要求,因此可以对hackerDJ进行url编码
编码后的字符就满足了第一个条件,随后因为进行了解码过程,则会自动将我们编码后的字符
解码为需要的hackerDJ,最后得到我们需要对hackerDJ做2次编码
先将h进行url编码得到%68
对%68再次编码得到%2568
最后拼接url得到结果