PHP2(url二次编码)
PHP2
抓包查看 什么也没有 那就扫一下目录吧 御剑开启
发现了index.phps 可能你没扫到 那说明你该把它添加到你的字典里了
访问
感觉好像少了点什么,查看一下源代码
让我们传入一个id 不能直接传入admin 但是对id使用urldecode以后的值还必须是admin 这个时候就要使用url二次编码了
说一下我对url二次编码的理解
当我们在url输入数据的时候,url会对其进行url编码 比如输入空格的时候会自动编码为%20 而当服务器在接收这些数据的时候会自动进行url解码
可以看到当我使用hackbar的load时,url中的'变成了%27,当服务器接到数据后 %27又会被解码为'
二次编码就是在%27的基础上再进行一次编码 就会变成%2527 因为%进行url编码以后为%25
这道题就利用了这个原理,当看到php里有urldecode的时候就要想到二次编码
我们对admin进行url编码,使用御剑1.5的内置编码工具
对其再次进行url编码 就是%2561%2564%256D%2569%256E
当我们以这种形式输入到url中时,服务器端会解码为%61%64%6D%69%6E而不是admin,而php urldecode会再次解码为admin 这样就绕过了上面的限制并且满足了下面的条件
最后拿到flag