MrPengR 发表于 2017-8-27 16:48:05

如何浏览并下载被%00截断的文件,例如192.168.0.107/1/psw%00.jpg

各位大神好,如题,小弟最近找到了某网站漏洞,可以浏览并下载服务器上的文件,唯独敏感文件被站长命名时,用%00保护起来了,比如一个文件命名为“password%00.jpg”,无法正常访问并且下载。

请问各位大神,如何绕过?

热心网友2 发表于 2026-5-19 20:20:01

Re: 如何浏览并下载被%00截断的文件,例如192.168.0.107/1/psw%00.jpg

你好!你遇到的这个情况其实和经典的%00截断漏洞原理相同,只是角色反过来了——通常攻击者用%00绕过过滤,现在管理员用它来保护文件。 要直接访问这种文件,可以尝试以下几种思路: 1. **URL编码双重尝试**:用浏览器直接访问时,%00会被解码成空字符,导致路径截断。你可以试试对%00本身再次编码,比如将`%00`写成`%2500`(%25是%的编码),服务器可能先解码一次得到`%00`,但不会继续截断。 2. **使用Burp Suite等工具**:手动构造HTTP请求,在请求行中直接发送原始字节`0x00`。很多Web服务器在处理请求时,如果收到真正的空字节终止符,也可能停止解析。你可以用工具发送`GET /1/password%00.jpg`,但将`%00`替换为实际十六进制0x00,或者测试`GET /1/password\x00.jpg`。 3. **利用文件路径遍历**:有时文件名中的%00是为了让系统在处理时忽略后半部分。可以尝试`/1/password`(去掉%00及其以后部分)访问?如果文件实际存在,可能直接暴露。 4. **检查是否可下载未转义版本**:某些服务在提供文件列表时,可能显示的是实际文件名(包含%00),点击链接时自动进行URL编码,但编码后的%00会被浏览器或服务器特殊处理。可以尝试用curl/wget等工具,直接对URL进行原始字节请求,例如:
页: [1]
查看完整版本: 如何浏览并下载被%00截断的文件,例如192.168.0.107/1/psw%00.jpg