CTF题解五 Web PHP大法(实验吧)

实验吧题目链接:http://www.shiyanbar.com/ctf/54

CTF题解五 Web PHP大法(实验吧)_第1张图片

首先,根据题目中提示,要注意备份文件。

点开题目链接后,最后有提示index.php.txt。于是进行访问。

CTF题解五 Web PHP大法(实验吧)_第2张图片

采用的是GET方法,代表着之后可以用?id=XXX的方式进行测试。

程序的主要逻辑是,GET方法得到的id的值必须被hackerDJ所包含,却又在进行一次url解密后,与其相等。

这里涉及到PHP中urldecode这一函数的特性urldecode会把字符串中所有带%的数字进行解密。

尝试输入?id=%68ackerDJ,按下回车键,发现什么也没发生。看一下浏览器的url,发现浏览器为我们完成了一次url解码,如图:

CTF题解五 Web PHP大法(实验吧)_第3张图片

所以我们需要对hackerDJ进行两次url加密。

看一个例子:


    $a="%2568ackerDJ";
    $a=urldecode($a);
    echo $a, "
"
; $a=urldecode($a); echo $a; ?>

这里%25对应的符号是%

所以第一次解密后得到%68ackerDJ,再解密一次得到hackerDJ

输入?id=%2568ackerDJ,就可以得到flag了:

flag: DUTCTF{PHP_is_the_best_program_language}

你可能感兴趣的:(CTF)