前言:
最近帮忙看了两道上传题目,
怎么讲,学以致用吧!
前几天刚看了上传绕过的文章,现在就有了题目
顺便练习一下
目录:
第一道:
只有成功上传一个可执行的php文件才可以得到key。
用传统的手段,上传 jpg 改后缀 、 大小写或者截断这些都不行,
然后看到有提示,
hint1:系统是 Windows
hint2:磁盘为 NTFS 格式
然后就想到了前两天看的文章,利用 Windows 特性来绕过
这里先科普一下什么是 NTFS
NTFS 即 New Technology File System(新技术文件系统)
NTFS 主要提供长文件名、数据保护和恢复,并通过目录和文件许可实现安全性。
这道题目的话,利用 ::$data 后缀来绕过文件上传检测
::$data 是 Windows文件流特性
这道题目如果是采用 ::$data 来绕过的话 ,必须要满足两个条件
一必须是 windows , 二必须是 php ,且系统磁盘为 NTFS 格式
因为 php 在 windows 的时候
如果文件名 + “::$data” 会把 ::$data 之后的数据当成文件流处理,
不会检测后缀名,且保持 ::$data 之前的文件名
所以这道题直接在后缀加上 ::$data 即可
第二道:
这道题目跟上题差不多,也是利用 Windows 特性来绕过
但是上一题的方法不可行了,我们换一种
直接在文件后缀加个 小点(.)
如果文件后缀只有一个点的话,Windows 系统会默认删除后面的点
利用系统特性,既绕过了验证,又达到了目的
总结:
多学多用,熟能生巧。
参考文献:
https://www.52pojie.cn/forum.php?mod=viewthread&tid=779183
https://mp.weixin.qq.com/s/rzP5_JusuD8SrvekBUO1uA