[CTF] 攻防世界-PHP2

题目

无任何提示,进入环境后界面和HTML如下

解题关键——phps

什么是 .phps 呢?
phps 文件就是 php 的源代码文件,通常用于提供给用户(访问者)查看 php 代码,因为用
户无法直接通过 Web 浏览器看到 php 文件的来内容,所以需要用 phps 文件代替。其实,只
要不用 php 等已经在服务器中注册过的 MIME 类型为文件即可,但为源了国际通用,所以才
用了 phps 文件类型。

(其实不知道可以尝试扫描路径)

真正题目:

官方WP

XCTF体验题库 : PHP2
【原理】

简单的代码审计、php源代码文件
【目的】

GET行参数的请求和url编码知识以及服务器的初次解码知识、了解phps文件
【环境】

Windows
【工具】

chrome
【步骤】

1.打开浏览器,访问http://111.198.29.45:45191/index.phps 得到主页源代码,如图所示。

2.进行代码审计,可看出需要用GET方式给id参数传递一个为“admin”的值,但是会经过一次urldecode(),会将传入的值进行url解码,所以要对admin进行两次url编码。

3.对admin字符串进行第一次url编码得到%61%64%6d%69%6e

4.将%61%64%6d%69%6e再次进行url编码得到%2561%2564%256d%2569%256e

5.访问http://111.198.29.45:45191/index.php?id=%2561%2564%256d%2569%256e 得到flag,如图所示。

官方题解补充

浏览器会自动对网址进行urldecode,所以实际传入的url是经过decode的,因此官方要两次encode。

posted @ 2023-01-04 00:21  faf4r  阅读(179)  评论(0编辑  收藏  举报