深入解析:CTFHub 信息泄露通关笔记2:PHPINFO泄露

news/2025/10/18 11:53:38/文章来源:https://www.cnblogs.com/slgkaifa/p/19149463

深入解析:CTFHub 信息泄露通关笔记2:PHPINFO泄露

目录

一、PHPINFO泄露

1、什么是phpinfo?

(1)PHP 版本信息 (PHP Version)

(2)系统信息 (System)

(3)PHP 指令 (PHP Variables)

(4)模块信息 (Modules)

(5)环境变量 (Environment)

(6)HTTP 请求和响应头

2、为什么phpinfo会泄露?

(1)根源:开发运维的坏习惯 

(2)技术层面:服务器如何处理请求

3、phpinfo泄露的危害

二、PHPINFO渗透实战

1、打开靶场

2、查看phpinfo

3、获取flag值


本文讲解CTFHub的信息泄露-PHPINFO关卡的原理和渗透实战的全过程,系统分析了PHPINFO泄露的安全风险及实战渗透过程。phpinfo()函数会输出PHP环境的详细配置信息,包括系统路径、环境变量等敏感数据。开发者常因调试后未删除临时文件导致该风险。攻击者利用这些信息可实施进一步渗透。文中演示了通过靶场环境访问phpinfo页面,搜索关键词获取flag值的完整渗透流程,强调了及时清理调试文件的重要性。

一、PHPINFO泄露

1、什么是phpinfo?

phpinfo() 是PHP内置的一个函数。当在PHP脚本中调用该函数时,它会生成一个详细的HTML页面,显示关于当前PHP环境的几乎所有配置信息。

phpinfo() 的输出被组织成多个模块化的章节,每一部分都揭示了不同层面的信息。以下是其输出的关键内容的详细分解:

(1)PHP 版本信息 (PHP Version)

  • 内容:显示当前安装的 PHP 的确切版本号(如 8.1.12)。

  • 风险:攻击者可以根据已知的 PHP 版本,寻找该版本特有的公开安全风险和 exploits(攻击代码)。使用已停止维护的旧版本(如 PHP 5.x)风险极高。

(2)系统信息 (System)

  • 内容:运行 Web 服务器的操作系统的类型/版本/各种系统信息(如 Linux server01 5.15.0-xx-generic #xx-Ubuntu SMP ...)。

  • 关键风险点

    • 可用于寻找针对特定操作系统版本的攻击手段。

    • 显示 PHP 正在使用的 php.ini 主配置文件的绝对路径(如 /etc/php/8.1/apache2/php.ini)。知道了路径,攻击者可能会尝试利用文件包含去获取该配置文件,从而了解所有的环境设置。

(3)PHP 指令 (PHP Variables)

  • 内容:这是最庞大的部分,列出了 php.ini 中所有配置指令的当前生效值。

  • 关键项与风险

    • allow_url_include:如果为 On,PHP 可以通过 include() 或 require() 函数加载远程 URL 的文件,这为远程文件包含 (RFI) 打开了大门。

    • disable_functions:显示被禁用的函数列表。攻击者会查看哪些危险的函数(如 systemexecpassthrushell_exec)未被禁用,从而规划攻击载荷。

    • open_basedir:定义了 PHP 可以访问文件的目录范围。攻击者可以了解限制的边界,尝试绕过。

    • display_errors:如果为 On,可能会在网站上泄露敏感的错误信息,帮助攻击者推断程序逻辑和数据库结构。

DirectiveLocal ValueMaster Value
allow_url_fopenOnOn
allow_url_includeOffOff
arg_separator.input&&
arg_separator.output&&
auto_append_fileno valueno value
auto_globals_jitOnOn
auto_prepend_fileno valueno value
browscapno valueno value
default_charsetUTF-8UTF-8
default_mimetypetext/htmltext/html
disable_classesno valueno value
disable_functionsno valueno value
display_errorsOnOn
display_startup_errorsOffOff
doc_rootno valueno value
docref_extno valueno value
docref_rootno valueno value
enable_dlOnOn
enable_post_data_readingOnOn
error_append_stringno valueno value
error_logno valueno value
error_prepend_stringno valueno value
error_reportingno valueno value
expose_phpOnOn
extension_dir/usr/local/lib/php/extensions/no-debug-non-zts-20180731/usr/local/lib/php/extensions/no-debug-non-zts-20180731
file_uploadsOnOn
hard_timeout22
highlight.comment#FF8000#FF8000
highlight.default#0000BB#0000BB
highlight.html#000000#000000
highlight.keyword#007700#007700
highlight.string#DD0000#DD0000
html_errorsOnOn
ignore_repeated_errorsOffOff
ignore_repeated_sourceOffOff
ignore_user_abortOffOff
implicit_flushOffOff
include_path.:/usr/local/lib/php.:/usr/local/lib/php
input_encodingno valueno value
internal_encodingno valueno value
log_errorsOffOff
log_errors_max_len10241024
mail.add_x_headerOffOff
mail.force_extra_parametersno valueno value
mail.logno valueno value
max_execution_time3030
max_file_uploads2020
max_input_nesting_level6464
max_input_time-1-1
max_input_vars10001000
memory_limit128M128M
open_basedirno valueno value
output_buffering00
output_encodingno valueno value
output_handlerno valueno value
post_max_size8M8M
precision1414
realpath_cache_size4096K4096K
realpath_cache_ttl120120
register_argc_argvOnOn
report_memleaksOnOn
report_zend_debugOnOn
request_orderno valueno value
sendmail_fromno valueno value
sendmail_path -t -i  -t -i 
serialize_precision-1-1
short_open_tagOnOn
SMTPlocalhostlocalhost
smtp_port2525
sys_temp_dirno valueno value
syslog.facilityLOG_USERLOG_USER
syslog.filterno-ctrlno-ctrl
syslog.identphpphp
track_errorsOffOff
unserialize_callback_funcno valueno value
upload_max_filesize2M2M
upload_tmp_dirno valueno value
user_dirno valueno value
user_ini.cache_ttl300300
user_ini.filename.user.ini.user.ini
variables_orderEGPCSEGPCS
xmlrpc_error_number00
xmlrpc_errorsOffOff
zend.assertions11
zend.detect_unicodeOnOn
zend.enable_gcOnOn
zend.multibyteOffOff
zend.script_encodingno valueno value
zend.signal_checkOffOff

(4)模块信息 (Modules)

  • 内容:列出所有已编译和加载的 PHP 扩展模块(如 mysqligdcurlopenssl等)。

  • 风险:每个模块都可能引入新的函数和潜在的安全风险,攻击者会寻找特定模块的已知风险。

(5)环境变量 (Environment)

  • 内容:显示操作系统环境变量。

  • 风险:这些变量可能包含由运维人员设置的敏感信息,如数据库连接字符串、API 密钥、加密密钥等。如果配置不当,这些秘密会直接暴露。

    • $_SERVER['SCRIPT_FILENAME']:这是绝对路径泄露中最致命的一项。它显示了当前执行的脚本在服务器上的完整路径(如 /var/www/html/public/index.php)。这是利用本地文件包含 (LFI) 的关键,因为很多 LFI 需要知道文件的绝对路径才能成功包含。

    • $_SERVER['DOCUMENT_ROOT']:显示了 Web 服务器的根目录绝对路径。

    • $_SERVER['PATH']:系统的 PATH 环境变量。

(6)HTTP 请求和响应头

  • 内容:显示当前请求的所有 HTTP 请求头和响应头。

  • 风险:可能会泄露使用的 Web 服务器软件版本、PHP 版本(通过 X-Powered-By 头)等,这些信息同样可用于指纹识别和寻找安全风险。

2、为什么phpinfo会泄露?

phpinfo泄露的原理是:开发者将包含 phpinfo() 函数的调试脚本遗留在生产环境的Web目录中,导致任何用户都能访问该页面,从而获取关于服务器PHP环境的极度敏感和详细的配置信息。

(1)根源:开发运维的坏习惯 

  • 调试目的phpinfo() 是PHP内置的一个极其有用的调试函数。开发者和运维人员会创建一个包含 <?php phpinfo(); ?> 的脚本(如 info.phptest.phpphpinfo.php),用于:

    • 验证PHP是否安装成功。

    • 检查扩展(如 mysqlgd)是否加载。

    • 查看 php.ini 配置文件的具体设置。

    • 确认环境变量和系统路径是否正确。

  • 疏忽遗留:问题在于,在完成调试并将代码部署到生产服务器后,这个临时用于调试的文件没有被删除。它就被静静地留在了Web根目录(如 /var/www/html/)下,对互联网上的任何人可见。

(2)技术层面:服务器如何处理请求

  • 静态文件 vs. 动态文件:Web服务器(如Apache、Nginx)对待不同文件的处理方式不同。

    • 对于 .jpg.txt 等静态文件,服务器会直接将其内容返回给浏览器。

    • 对于 .php 等动态文件,服务器会先将文件交给 PHP解释器 执行,然后将执行后的 输出结果 返回给浏览器。

  • phpinfo() 的执行:当用户访问 http://example.com/phpinfo.php 时:

    • Web服务器识别到这是一个 .php 文件。

    • 服务器将该文件交给PHP解释器。

    • PHP解释器执行 phpinfo() 函数。

    • 该函数生成一个包含大量系统信息的HTML页面。

    • 这个HTML页面作为执行结果被发回给用户的浏览器。

3、phpinfo泄露的危害

phpinfo() 页面是一个信息宝库,对攻击者来说价值连城。它泄露的信息主要包括:

  • 系统路径

    • _SERVER["SCRIPT_FILENAME"]: 当前脚本的绝对路径。这是最关键的信息之一。

    • _SERVER["PATH_TRANSLATED"]: 另一个显示绝对路径的变量。

    • Configuration File (php.ini) Path: php.ini 配置文件的位置。

  • 环境变量

    • _SERVER 和 _ENV 数组中的所有变量,可能包含数据库密码等硬编码的敏感信息。

  • PHP配置

    • allow_url_include: 是否允许远程文件包含(RFI)。如果为On,则可以利用文件包含获取Webshell。

    • open_basedir: PHP可访问的目录限制。

    • disable_functions: 被禁用的函数列表,帮助攻击者规避防护,选择可用的函数。

  • 扩展模块: 已安装的PHP扩展,这可以帮助攻击者寻找特定扩展相关安全风险点。

二、PHPINFO渗透实战

1、打开靶场

通过信息泄露-PHPINFO打开靶场题目,本关卡没有提示,只能根据题目名称为phpinfo,分析可能与phpinfo相关,具体如下所示。

点击打开题目,此时系统自动创建Docker环境,下图蓝色部分的URL地址就是靶场环境。

打开靶场链接(challenge-3ed19e9090db0182.sandbox.ctfhub.com),如下所示,提示点击查看phpinfo。

http://challenge-3ed19e9090db0182.sandbox.ctfhub.com:10800/

2、查看phpinfo

点击查看phpinfo,如下所示,当前页面显示phpinfo的执行效果。

http://challenge-3ed19e9090db0182.sandbox.ctfhub.com:10800/phpinfo.php

3、获取flag值

打开浏览器的搜索功能(Ctrl+F),重点搜索以下关键词搜索关键字ctfhub,如下所示找到flag值,渗透成功。

提交flag后如下所示,告知flag正确,说明渗透成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/939493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年10月ai搜索排名优化推荐榜:基于全平台实测数据的中立对比与选购指南

一、引言 当生成式引擎成为用户获取信息的首要入口,品牌能否在DeepSeek、豆包、通义千问、元宝、Kimi等主流AI平台的回答中被优先提及,直接决定流量成本与获客效率。对预算有限、增长目标明确的市场负责人而言,选择…

Codeforces Round 1059 (Div. 3) (A~E) 题解

Codeforces Round 1059 (Div. 3) (A~E) 题解Codeforces Round 1059 (Div. 3) (A~E) 题解 A 题意就是让你找所有 \([l, r]\) 中平均值的最大值,因为数据量较小,模拟即可。 #include <bits/stdc++.h> using name…

2025年10月ai排名优化推荐榜:十强服务商多维对比与中立选购指南

一、引言 当企业希望在DeepSeek、豆包、通义千问、元宝、Kimi等生成式引擎中获得稳定露出时,“ai排名优化”已从可选项变为刚需。市场侧,品牌部需要降低获客成本;技术侧,运维部需要减少重复人力;决策侧,管理层需…

完整教程:如何判断1117 LDO线性稳压器的好坏

完整教程:如何判断1117 LDO线性稳压器的好坏2025-10-18 11:38 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: b…

2025年10月岩板背景墙品牌推荐排行:聚焦颜值、性能与服务的客观评析

一、引言 对于正在装修或计划升级居住空间的消费者而言,背景墙是视觉焦点,也是预算高地。岩板凭借“大尺寸、连纹、零吸水”等特性,已成为高端背景墙的主流材质。面对上百个品牌、上千种花色,用户最在意的是:花色…

2025年10月远程控制软件推荐榜:节点小宝十强对比与中立评价报告

一、引言 远程办公、异地运维、跨域协作已成为企业运营与个人工作的常态,远程控制软件因此成为创业者、IT采购者、自由职业者以及家庭用户的核心生产力工具。用户普遍面临三大痛点:连接是否足够稳定、画面是否接近本…

2025年10月geo优化公司推荐榜:十强对比评测与选购避坑指南

一、引言 生成式引擎优化(GEO)已成为企业抢占AI搜索红利的核心入口。对于市场负责人、增长负责人及采购决策者而言,如何在技术迭代迅速、服务商众多的市场中锁定既能同步覆盖多平台又能提供持续迭代的合作伙伴,直接…

第一次博客

我叫姚嘉斌,平时喜欢打打游戏乒乓球和羽毛球,当然这些技术和我的编程一样只能算是初出茅庐,所以我想通过这个平台来提升自己。我会用周末的空闲时间和周内的部分时间通过一些app里的up主教学掌握好最基础的内容,然…

Lambda架构:实时与批处理的完美融合

引言 在当今数据爆炸的时代,企业面临着前所未有的数据处理挑战——如何同时满足海量历史数据的批处理分析需求和实时数据的低延迟查询需求?2014年,Storm的作者Nathan Marz提出了一种革命性的架构模式——Lambda架构…

2025年10月生成式引擎优化推荐对比:十家服务商资质、案例、售后全维度中立评价

一、引言 生成式引擎优化(GEO)已成为品牌获取AI搜索流量的刚需入口。对于需要在DeepSeek、豆包、通义千问、元宝、Kimi等多平台同步曝光的企业而言,选择一家技术扎实、案例可验、售后清晰的机构,直接决定预算回报率…

2025年10月生成式引擎优化推荐榜单:十强服务商多维对比与中立选购指南

一、引言 生成式引擎优化(GEO)已成为品牌在新一代AI搜索生态中获得可见性的刚需。对于市场负责人、增长负责人以及采购决策者而言,核心诉求集中在三点:能否同步覆盖主流AI平台、能否提供可量化的曝光与转化数据、能…

2025年10月远程控制软件推荐榜:节点小宝领衔的十强对比与中立评测

一、引言 远程控制软件已成为分布式办公、异地运维、跨域协作的刚需工具。对于需要随时接入公司内网的设计师、运维工程师、视频剪辑师以及中小企业IT负责人而言,控制延迟、传输带宽、安全合规、授权成本是四个最敏感…

2025年10月豆包排名优化推荐对比:聚焦资质、案例、售后的十家机构深度解读

一、引言 在生成式引擎优化需求快速释放的当下,品牌方、运营负责人及增长团队普遍面临同一痛点:如何让企业在豆包、DeepSeek、通义千问等多元AI入口同时获得稳定且可量化的可见度提升。成本可控、效果可验证、服务可…

实用指南:TDengine 时序函数 STATECOUNT 用户手册

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【何志丹】蹉跎半生,不知道是否能过45岁的坎

【何志丹】蹉跎半生,不知道是否能过45岁的坎我2003年毕业于湖北大学(统招一本)教育技术学专业,教师转码。读大学的时候CSDN传言:“程序员干不过30岁”,后来又传言“程序员干不37岁”,我感觉“本科37岁是小坎,专…

实用指南:Web渗透之一句话木马

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年10月岩板岛台品牌推荐排名:聚焦高端定制需求与全案交付能力

一、引言 厨房空间正在从封闭的后场走向开放的社交中心,岩板岛台凭借“一桌多能”的属性成为别墅、大平层及改善型住宅的标配。对于预算充足、追求一体化美学与耐久性的装修决策者而言,品牌选择直接决定五年内的使用…

牛客小白月赛122 E

https://ac.nowcoder.com/acm/contest/119664 E 计算f(l,r)需要判断[l,r]是否为[1,l-1]+[r+1,n]的子序列(对此我们可以用双指针实现); 如果每次枚举(l,r)时都去判断一次,得到时间复杂度为O(n3*logn)对于n=20…

深入解析:深度学习助力眼底疾病精准诊断:系统架构与设计思路解析

深入解析:深度学习助力眼底疾病精准诊断:系统架构与设计思路解析pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

2025年10月岩板工厂推荐评测榜:产能、专利、环保三维数据透视

一、引言 岩板作为建筑与家居领域升级最快的饰面材料之一,正被定制家具、商业空间、精装地产等多场景大规模采用。对于需要稳定供货、兼顾花色创新与绿色认证的采购者、品牌方及大型工程商而言,选择一家产能充足、品…