type
status
date
slug
summary
tags
category
icon
password
Property
Sep 5, 2023 01:02 PM
LOW
Medium
High
High
Impossible
Extension
00%截断
代码采用的白名单校验,只允许上传图片格式,理论上这个上传是不好绕过的。
但是后面采用保存文件的时候,是路径拼接的形式,而路径又是从前端获取,所以我们可以在路径上做手脚。
如下上传,显示文件路径中有个空格,这并不是真正意义上的空格,而是%00截断后显示成的空格。
在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束 (php版本要小于5.3.4,5.3.4及以上已经修复该问题)
- 作者:sdttttt
- 链接:https://www.sdttttt.site/article/6bf2a26e-9138-49d2-bced-8ab6fcd21183
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。