Files
2025-10-13 01:29:11 +08:00

39 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### phpinfo 页面你会关注哪些信息
**1. PHP 配置和安全设置**
这些信息直接决定了攻击的难度和可用方法
- **`disable_functions`**: 这是最关键的信息。如果这个列表为空,或者只禁用了少数函数,那么我就可以直接使用像 `system()``exec()``shell_exec()``passthru()` 等命令执行函数来获取 WebShell,进行系统命令执行
- **`allow_url_fopen``allow_url_include`**: 如果这两个选项都为 `On`,则存在**远程文件包含 (RFI)** 漏洞的可能性。攻击者可以从远程服务器加载恶意 PHP 文件并执行
- **`open_basedir`**: 如果这个选项设置了,它会限制 PHP 脚本只能在指定的目录及其子目录中操作。这能有效限制攻击者的权限,但我会寻找绕过它的方法
- **`display_errors`**: 如果这个选项是 `On`,服务器会显示详细的错误信息,包括文件路径、数据库查询语句等。这些信息对于 SQL 注入、文件包含等漏洞的调试和利用非常有帮助
- **`expose_php`**: 如果这个选项为 `On``phpinfo()` 页面会暴露 PHP 的**精确版本号**(例如 PHP/8.1.12)。这使得我能快速在漏洞数据库(如 CVEs)中查找该版本已知的安全漏洞,并针对性地进行攻击
**2. 服务器环境信息**
这些信息帮助我了解 PHP 运行在什么样的环境中,以及我能获得多大的权限
- **`SERVER_SOFTWARE`**: 告诉我 Web 服务器的类型和版本,例如 Apache、Nginx、IIS 等。这些服务器本身也可能存在漏洞
- **`_SERVER["DOCUMENT_ROOT"]`**: 暴露了网站的根目录路径,这是进行**本地文件包含 (LFI)** 和目录遍历攻击的关键信息
- **`User``Group`**: `phpinfo()` 会显示 PHP 进程是以哪个用户和用户组运行的。这决定了我能执行哪些操作,例如是否可以读取其他用户的文件、是否可以写入某些目录等
- **`PATH`**: 环境变量 `PATH` 包含了系统命令的搜索路径,如果我能执行命令,这能帮助我快速找到像 `whoami``ls``id` 等常用命令
**3. 已加载的模块和扩展**
这些信息揭示了 PHP 环境的功能,以及潜在的攻击面
- **`cURL``sockets`**: 如果这些扩展存在,我可能会尝试**服务器端请求伪造 (SSRF)** 攻击,通过服务器向内部网络发起请求,探测内网服务
- **`pdo``mysqli``sqlsrv` 等数据库扩展**: 确认网站使用了哪种数据库,为后续的**SQL 注入**攻击提供目标
- **`GD``ImageMagick` 等图像处理扩展**: 如果存在,可能会有**图像处理库漏洞**,导致命令执行。
**4. 文件系统和路径信息**
- **`_SERVER["SCRIPT_FILENAME"]`**: 暴露了当前脚本在服务器上的**绝对路径**。这是进行本地文件包含、路径遍历、以及了解服务器文件结构的重要线索
- **`upload_tmp_dir`**: 如果我能找到一个文件上传漏洞,这个选项会告诉我临时文件上传的目录。有时候,我可以在这个目录上传并执行一个 WebShell