攻防世界 PHP2

举报
开心星人 发表于 2022/06/30 00:01:59 2022/06/30
【摘要】 我以为是cookie的问题,看了请求头,发现没有 扫目录 只有index.php 是因为这个字典里没有phps phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用...

在这里插入图片描述我以为是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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。