AI 助教问 AI 助教
东方瑞通 · CISP-PTE

Apache 安全与文件名解析漏洞

Apache 对多后缀文件名会一直解析到可识别的后缀并执行,攻击者借此上传伪装文件 getshell。

考点精讲

  1. Apache 文件名解析漏洞:文件如 shell.php.xxx.yyy.zzz,Apache 解析到可识别的 .php 后缀即按 PHP 执行,攻击者可将木马伪装成多后缀文件上传。防护:禁止 *.php.* 格式的访问(通过 FilesMatch 匹配 .php.、.php3.、.php4.、.php5. 并 Deny)。此外安全设置还包括访问控制(Order Deny,Allow)、禁止目录列表、错误页面重定向、限制 web 目录权限等。

记忆技巧

Apache 多后缀文件一直解析到认识的后缀(.php)才停
防:禁 *.php.* + 目录权限最小化

常见误区

  • 以为 Apache 解析漏洞在最新版本仍存在——需确认版本
  • 忽略 FilesMatch 禁 *.php.* 这一防护
  • 混淆 Apache 与 Nginx 的解析漏洞机制

真题思路

  • 【示例】 Apache 解析漏洞的核心特征是()
    只解析单后缀文件 对多后缀文件名一直解析到可识别的后缀(如 .php)才停止 只能解析图片文件 无法解析 PHP 文件
    答案:B
    解析:Apache 多后缀文件一直向后解析到认识的后缀(.php)才停,是解析漏洞核心特征,B 正确。

常见问题

Q:Apache 解析漏洞的原理是什么?

A:Apache 对多后缀文件名会一直向后解析,直到遇到可识别的后缀(如 .php)才停止,因此 shell.php.xxx.yyy.zzz 这类文件会被当作 PHP 执行。

Q:如何利用 shell.php.xxx 这种文件?

A:上传一个以 .php 开头、后缀伪装成其他类型的文件(如 shell.php.xxx),若服务器对 .php 后缀的解析规则存在缺陷,该文件会被当作 PHP 执行,从而 getshell。

Q:如何防护 Apache 解析漏洞?

A:通过 FilesMatch 禁止 *.php.*(以及 .php3.、.php4.、.php5. 等)格式的访问,并配合目录权限最小化等配置。

Q:Order Deny,Allow 是什么?

A:是 Apache 的访问控制指令,用于设置允许/拒绝规则,如配合 <Files> 块对特定文件或目录进行访问控制。

相关知识

教材出处:第6章 中间件安全 Apache 安全与文件名解析漏洞

AI 助教

让 AI 助教带你深入学习,把你卡住的地方直接问它

随时为您答疑解惑

开始答疑