突破文件上传过滤器:利用尾随点或空格绕过扩展名验证
引言
文件上传功能无处不在——从个人资料图片上传、文档附件到媒体管理器。想象一下,你上传了一个名为 shell.php. 的文件,系统竟然允许它通过,即使 .php 文件本应被阻止。为什么?因为涉及尾随点和空格的一个狡猾技巧。
在 Windows 系统中,像 shell.php.(末尾带点)这样的文件名会被保存为 shell.php。操作系统会静默去除尾随点。这意味着应用程序可能认为它是一个无害的文件——但你刚刚上传了一个真实的 .php 脚本。
在本文中,我们将探讨这种绕过方法的工作原理、如何发现它以及如何有效利用它。非常适合初学者深入了解漏洞赏金或应用程序渗透测试!
为什么这有效:操作系统在帮你(作为攻击者)
在 Windows(NTFS)文件系统上:
- 像
shell.php.这样的文件名会被保存为shell.php shell.jpg会变成shell.jpg- 尾随点(.)或空格( )会被自动去除
这种特性可以被攻击者利用来绕过文件上传过滤机制,上传恶意文件。
(注意:文章后续内容为会员专享,此处仅翻译公开部分)