码迷,mamicode.com
首页 > 其他好文 > 详细

bugku flag在index里

时间:2019-12-25 01:50:21      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:net   repo   脚本   总结   htm   第一步   限制   显示   声明   

原题内容:

http://120.24.86.145:8005/post/

 

Mark一下这道题,前前后后弄了两个多小时,翻了一下别的博主的wp感觉还是讲的太粗了,这里总结下自己的理解:

 

首先打开这道题,页面只给你click me? no

点击进去显示test5

 

第一步,查看源代码,无果

第二步bp,无果

结合到题目,flag在index里,大胆尝试http://120.24.86.145:8005/post/index.php,可惜和之前一样

注意到了传值为http://120.24.86.145:8005/post/index.php?file=show.php

file这个变量应该是关键,可惜无果

 

参考到别的博主的wp:

file传值为

 

php://filter/read=convert.base64-encode/resource=index.php

 

 

结果如下:
技术图片

 

 


base64解密下就得到flag了

 

可能很多人到这里并不太理解,这里我做具体解释:
首先来解释下这段代码的意思:

即以base64加密的方式读取resource的内容

 

然后我们来看一下php://filter的限制

要求将传进来的参数进入include();在这题即是$file //这里就打乱了我的胡思乱想,哈哈哈,还以为所有题目都可以呢

这点要求在后来拿到的题目源码中也可确认:

 

    <html>
        <title>Bugku-ctf</title>
        
    <?php
        error_reporting(0);
        if(!$_GET[file]){echo ‘<a href="./index.php?file=show.php">click me? no</a>‘;}
        $file=$_GET[‘file‘];
        if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
            echo "Oh no!";
            exit();
        }
        include($file);
    //flag:flag{edulcni_elif_lacol_si_siht}
    ?>
    </html>

 

 

下面演示通过php://filter读取本包含漏洞脚本的源码
技术图片
接下来只要将base64编码后的字符串通过base64解码就可得到PHP文件的源码了

 

 

技术图片

 

 



看到一个大佬的博客讲的特别棒,我已转载至我的博客,大家可以前去一看

谈一谈php://filter的妙用

 

 

参考原文

http://blog.csdn.net/qq_35078631/article/details/69488266

http://www.freebuf.com/articles/web/14097.html

 
————————————————
版权声明:本文为CSDN博主「Sp4rkW」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wy_97/article/details/77431111

bugku flag在index里

标签:net   repo   脚本   总结   htm   第一步   限制   显示   声明   

原文地址:https://www.cnblogs.com/ainv-123/p/12094335.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!