文件上传漏洞学习 6-10
Posted liqik
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件上传漏洞学习 6-10相关的知识,希望对你有一定的参考价值。
pass-06和pass-07:文件名后缀名后加空格或点
原理:
Win下xx.jpg[空格] 或xx.jpg.这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点 此处会删除末尾的点,但是没有去掉末尾的空格,因此上传一个.php空格文件即可。
用burp抓包,将上传的文件名后缀名php后面加 空格 或者 点
他们的代码 对比前面都是 缺少去除 文件名末尾的点和首尾去空的原因
pass-08: ::$DATA绕过
NTFS文件系统包括对备用数据流的支持。这不是众所周知的功能,主要包括提供与Macintosh文件系统中的文件的兼容性。
备用数据流允许文件包含多个数据流。每个文件至少有一个数据流。在Windows中,此默认数据流称为:$ DATA。
上传.php::$DATA绕过。(仅限windows)
不是众所周知的更能所以 程序员在写黑名单的时候会忽略
burp抓包修改后缀名为.php::$DATA
相比之前的代码 缺少了这一行
$file_ext = str_ireplace(‘::$DATA‘, ‘‘, $file_ext);//去除字符串::$DATA
pass-09: 一:.空格.绕过 二:Apache陌生后缀解析漏洞
一:点空格点
move_upload_file的文件名直接为用户上传的文件名,我们可控。且会删除文件名末尾的点和首尾去空
burp抓包 改文件后缀 .php.空格.
二:Apache陌生后缀解析漏洞
burp抓包 把 文件后缀改为 .jpg.php.asd 或者 .php.asd 试了一下asd可以换成其他的
Apache 读取后缀名是从后往前读的 不认识asd后缀 继续读前面的php后缀
以上是关于文件上传漏洞学习 6-10的主要内容,如果未能解决你的问题,请参考以下文章