涉及URL二次编码的CTF题目

萌新的线索发现之旅

 

首先打开连接发现

涉及URL二次编码的CTF题目_第1张图片

这个想必大家都能找到线索吧,没错,在url后面加上.txt  会发现进入到一个有php代码的网页

涉及URL二次编码的CTF题目_第2张图片

作为一个萌新表示这里花费了我大量的时间去理解这段代码,给大家说一下思路,这里很显然就是解题的关键了,我们可以很明显的看到hackerDJ是GET[id]里id的值,也就是id=hackerDJ  代码的意思大概就是如果输入正确的id的话就可以得到flag的值了,所以我们先尝试在后面加上id=hackerDJ

涉及URL二次编码的CTF题目_第3张图片

得到的返回是不允许,说明我们的思路是正确的,只有有哪个地方出错了(当然出题人不会让你这么简单就解开了啊,特别提示:php语法在url里输入是要在php后面加上?才可以赋值,对于没有学习过php的我来说走了不是冤枉路=-=)

然后我们再回到之前那段php代码,可以发现一句话涉及URL二次编码的CTF题目_第4张图片

不懂这段代码怎么办,很简单,复制到百度,可以发现这是url解码后得到这个id的值,也就是说我们输入的id值是要进行url编码的(本人当初在网上找了大量的url编码工具,最后发现出来的结果都是hackerDJ,根本没有变化,所以我用的是御剑内置的编码转换工具)

涉及URL二次编码的CTF题目_第5张图片

转换后我们再尝试吧编码后的值输入进去,发现还是不允许涉及URL二次编码的CTF题目_第6张图片

然后我们再仔细看地址栏会发现我们明明是输入的id=%68%61%63%6B%65%72%44%4A  却变成了id=hackerDJ

这说明浏览器自动进行了url解码,导致我们的编码值不能输入,于是我们大胆尝试,对id进行再次编码(因为我们要输入的是id的编码值,但是浏览器会自动进行解码,那么设想我们对编码进行再编码的话那浏览器解码后是不是就是我们要输入的编码值了)抱着这个想法开始对编码进行编码,得到

涉及URL二次编码的CTF题目_第7张图片

再把这段编码输入url

你可能感兴趣的:(CTF)