Web View
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
### 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
|
||||
Reference in New Issue
Block a user