攻防世界 PHP2
我以为是cookie的问题,看了请求头,发现没有
扫目录
只有index.php
是因为这个字典里没有phps
phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不用php等已经在服务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型。
URL的合法字符表示在浏览器的url请求路径中不会被转义的字符,有两种:
-
URL元字符:分号(;),逗号(,),斜杠(/),问号(?),冒号(:),at(@),&,等号(=),加号(+),美元符号($),井号(#)
-
语义字符:a-z,A-Z,0-9,连词号(-),下划线(_),点(.),感叹号(!),波浪线(~),星号(*),单引号(),圆括号(())
浏览器的url请求路径中一旦出现非合法字符(如空格、单引号、双引号等),浏览器就会对它们进行一次urlencode编码,然后发送
如这里我输入?id=' 1
就自动对单引号和空格进行了url编码
运行时会自动进行一次urldecode
所以如果题目没有这个判断,那么我们输入?id=admin
也是可以了,admin没有不合法字符,不会进行url编码;运行时自动进行url解码得到仍然为admin;在代码中进行url解码,仍是admin
所以这里我们需要对admin进行两次url全编码
?id=%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65
无不合法字符,所以不会进行url编码。浏览器运行时自动进行一次url解码,得到%61%64%6d%69%6e
,%61%64%6d%69%6e!=admin
在进行一次url解码得到admin
得到flag
文章来源: blog.csdn.net,作者:开心星人,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_55675216/article/details/124757780
- 点赞
- 收藏
- 关注作者
评论(0)