[BUUCTF]HCTF 2018WarmUp1 write up

ctrl+U查看源代码, 如下:

 访问提示中的source.php文件

 发现显示了源码,且存在另一个PHP文件hint.php(提示.php),先查看文件内是否有信息

用file来传参,并且要绕过whitelist的规则

暂且先访问hint.php文件,发现提示了flag所在位置

 这里涉及到了include()函数:

include 语句包含并运行指定文件。
以下文档也适用于 require 。

被包含文件先按参数给出的路径寻找,如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找。如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。如果最后仍未找到文件则include 结构会发出一条警告;这一点和 require 不同,后者会发出一个致命错误。

如果定义了路径——不管是绝对路径(在 Windows 下以盘符或者 \ 开头,在 Unix/Linux 下以 / 开头)还是当前目录的相对路径(以 . 或者 .. 开头)——include_path 都会被完全忽略。例如一个文件以 ../ 开头,则解析器会在当前目录的父目录下寻找该文件。
所以在本题中include()函数包含文件时会按路径./../../../../ffffllllaaaagggg来寻找文件

另外关于路径,符号"."代表当前目录,“..”代表上一级的目录,"/"代表根目录,而./../../../../ffffllllaaaagggg则通过不断将路径跳转到上一个目录直到flag所在的PHP文件(该题中目标PHP文件恰好在根目录下,而根目录的上一层目录仍然是根目录)。

 最后得出flag:flag{a0449aa1-cd01-42a9-a126-fac6ce83a310}

这道题做的话不是很难,但理解可能有些困难,百度YYDS,一起加油吧!!!!!!1!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
[HCTF 2018]WarmUp是一个CTF比赛题目,其中涉及到一个叫做emmm的类。这个类中有一个名为checkFile的方法。checkFile方法的作用是对传入的$page参数进行检查。在方法中,首先判断$page是否存在并且是字符串类型,如果不满足条件,则输出"you can't see it"并返回false。接着,将$page与白名单数组$whitelist进行匹配,如果匹配成功,则返回true。如果没有匹配成功,则继续进行下一步操作。 下一步操作中,先对$page进行一次截取操作,截取到第一个问号之前的部分,将截取结果赋值给$_page。然后再次对$_page进行白名单匹配,如果匹配成功,则返回true。如果匹配不成功,则对$_page进行二次URL解码,并再次进行一次截取操作,将结果赋值给$_page。最后再次对$_page进行白名单匹配,如果匹配成功,则输出"sdf you can't see it"并返回true。如果都不满足条件,则输出"you can't see it"并返回false。 这个题目的前身是一个cve漏洞(phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613))。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [[HCTF 2018]WarmUp](https://blog.csdn.net/m0_62709637/article/details/125022518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值