phpinfo 页面你会关注哪些信息

1. PHP 配置和安全设置

这些信息直接决定了攻击的难度和可用方法

  • disable_functions: 这是最关键的信息。如果这个列表为空,或者只禁用了少数函数,那么我就可以直接使用像 system()exec()shell_exec()passthru() 等命令执行函数来获取 WebShell,进行系统命令执行
  • allow_url_fopenallow_url_include: 如果这两个选项都为 On,则存在远程文件包含 (RFI) 漏洞的可能性。攻击者可以从远程服务器加载恶意 PHP 文件并执行
  • open_basedir: 如果这个选项设置了,它会限制 PHP 脚本只能在指定的目录及其子目录中操作。这能有效限制攻击者的权限,但我会寻找绕过它的方法
  • display_errors: 如果这个选项是 On,服务器会显示详细的错误信息,包括文件路径、数据库查询语句等。这些信息对于 SQL 注入、文件包含等漏洞的调试和利用非常有帮助
  • expose_php: 如果这个选项为 Onphpinfo() 页面会暴露 PHP 的精确版本号(例如 PHP/8.1.12)。这使得我能快速在漏洞数据库(如 CVEs)中查找该版本已知的安全漏洞,并针对性地进行攻击

2. 服务器环境信息

这些信息帮助我了解 PHP 运行在什么样的环境中,以及我能获得多大的权限

  • SERVER_SOFTWARE: 告诉我 Web 服务器的类型和版本,例如 Apache、Nginx、IIS 等。这些服务器本身也可能存在漏洞
  • _SERVER["DOCUMENT_ROOT"]: 暴露了网站的根目录路径,这是进行本地文件包含 (LFI) 和目录遍历攻击的关键信息
  • UserGroup: phpinfo() 会显示 PHP 进程是以哪个用户和用户组运行的。这决定了我能执行哪些操作,例如是否可以读取其他用户的文件、是否可以写入某些目录等
  • PATH: 环境变量 PATH 包含了系统命令的搜索路径,如果我能执行命令,这能帮助我快速找到像 whoamilsid 等常用命令

3. 已加载的模块和扩展

这些信息揭示了 PHP 环境的功能,以及潜在的攻击面

  • cURLsockets: 如果这些扩展存在,我可能会尝试服务器端请求伪造 (SSRF) 攻击,通过服务器向内部网络发起请求,探测内网服务
  • pdomysqlisqlsrv 等数据库扩展: 确认网站使用了哪种数据库,为后续的SQL 注入攻击提供目标
  • GDImageMagick 等图像处理扩展: 如果存在,可能会有图像处理库漏洞,导致命令执行。

4. 文件系统和路径信息

  • _SERVER["SCRIPT_FILENAME"]: 暴露了当前脚本在服务器上的绝对路径。这是进行本地文件包含、路径遍历、以及了解服务器文件结构的重要线索
  • upload_tmp_dir: 如果我能找到一个文件上传漏洞,这个选项会告诉我临时文件上传的目录。有时候,我可以在这个目录上传并执行一个 WebShell
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:12:51

results matching ""

    No results matching ""