当前位置: 首页> 娱乐> 八卦 > 山东疫情最新通报_flash网站制作教程_超级优化_2022推广app赚佣金平台

山东疫情最新通报_flash网站制作教程_超级优化_2022推广app赚佣金平台

时间:2025/7/12 10:40:06来源:https://blog.csdn.net/qq_39673370/article/details/146344824 浏览次数:1次
山东疫情最新通报_flash网站制作教程_超级优化_2022推广app赚佣金平台

源码分析

  • <?php include("get_flag.php");isset($_GET['wrappers']) ? include("file://".$_GET['wrappers']) : '';highlight_file(__FILE__);
    ?>
    
  • 第一句 include("get_flag.php");, 使代码包含了 get_flag.php 的内容

    • 大概是生成 Flag 之类的代码
  • 第二句与上一关差不多, 通过三目运算的方式, 简写了一个判断语句

    • 检测是否 GET 传入 wrapper 参数, 如果有就传给 include() 参数执行

      • 不过这里对 wrapper 参数做了点修改, 才交给 include()

      • "file://".$_GET['wrappers']

      • 增加了 file协议标志

  • 最后一句就是显示源码

解题分析

  • 首先, 题目开头告诉当前文件路径 /var/www/html

    • 这个在现实场景中可以根据根据一般情况部署的目录去猜测
  • 并且, 题目环境中, 关闭了allow_url_fopen=Off allow_url_include=Off, 导致了不能使用上一关的远程文件包含

  • 再者, include() 被限制使用了 file协议, 故这里只能尝试 file协议 来达到文件包含

  • file:// 协议

    • include("filename") 
      <=> 
      include("file://" . __DIR__ . "/filename"); 
      
    • 不过这里只能使用绝对路径

  • 然后探姬在题目说提到了 当前目录下有 phpinfo.txt flag.php(包含存储flag的变量), 在根目录下有 flag 文件(包含flag)

尝试包含文件

  • 包含 phpinfo.txt

    • 靶机地址/?wrappers=/var/www/html/phpinfo.txt
      
  • 包含 flag.php

    • 因为这里并没有输出flag变量 的代码, 所以包含了也没有变化

    • 其实打开靶机源文件会发现, flag.php 其实空的

解题步骤

  • 跟上述方法一样, 改为包含 根目录下的 flag 就可以了

  • 靶机地址/?wrappers=/flag
    
关键字:山东疫情最新通报_flash网站制作教程_超级优化_2022推广app赚佣金平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: