PHP2(url二次编码)

Posted sharp_ff

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于PHP2(url二次编码)的主要内容,如果未能解决你的问题,请参考以下文章

XCTF-攻防世界CTF平台-Web类——9PHP2(.phps文件url编码)

URL编码与二次encodeURI

看我如何利用二次编码进行xss

SQL注入防御绕过——二次编码之干掉反斜杠

bugku urldecode二次编码绕过

python接口自动化测试十三:url编码与解码