文章目录
[HCTF 2018]WarmUp
打开是一张滑稽图, 提示有source.php
在网址尾部加 /source.php,得到一串php代码
根据php代码提示,网址 /source.php换成/hint.php,得到
这是一个phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
分析checkfile()函数
- 定义了一个白名单:source.php和hint.php,判断$page是否为空、是否为字符串;
- 判断$page是否在白名单里,若存在返回true;
- 考虑到page有参数的情况, p a g e 是 取 出 _page是取出 page是取出page问号前的东西,然后再判断$_page是否在白名单里,若存在则返回true;
- 如果上一步判断失败,则又考虑了url编码的问题,因为url在传入以后服务器会自动进行一次解码。因此传入二次编码后的内容,就可以使checkfile返回true。
例如:
传入?file=hint.php%253f…/…/…/…/…/…/…/…/ffffllllaaaaggggÿ