buuctf——SecretFile

进来就看见有大佬被挂在黑页
在这里插入图片描述F12查看源码看到在下面有个黑化了的标签藏得挺深,./Archive_room.php。然后网页中间有个secret
不知道的还以为在FBI warning.点进去看看,注意到直接来到了end.php,但是在上一页的源码这个secret的herf是跳转至action.php啊。应该是action.php302跳转到了end.php吧,开burp看看
在这里插入图片描述事实证明确实有action.php
在这里插入图片描述repeater发包后在响应包看到有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里
?>
</html>

重点函数介绍:

  • strstr()查找字符的首次出现,返回从该字符到整个字符串结束的部分
  • stristr()和strstr()一样,只是不区分大小写
  • 格外补充:strpos()查找字符(区别大小写),返回匹配成功的位置

这段代码的意思就是if判断有没有这四个字符串,没有就文件包含,有就拜拜。
?file=flag.php看看
在这里插入图片描述作者可真坏啊,伪协议读一下。payload:secr3t?file=php://filter/convert.base64-encode/resource=flag.php,base64解码得到flag:flag{55e2c032-73ad-449a-8670-d52b9e48904c}

如果flag没有在网站根目录下,那这道题就有点难了,我想应该要向日志文件里写木马然后再包含日志文件。估计是buu开环境折磨人才不这么出

posted on 2022-03-05 11:52  小丑首长  阅读(41)  评论(0)    收藏  举报

导航