标签:into 去掉 漏洞 cin 文件 抓包 多个 ati func
原理:
Win下xx.jpg[空格] 或xx.jpg.这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点 此处会删除末尾的点,但是没有去掉末尾的空格,因此上传一个.php空格文件即可。
用burp抓包,将上传的文件名后缀名php后面加 空格 或者 点
他们的代码 对比前面都是 缺少去除 文件名末尾的点和首尾去空的原因
NTFS文件系统包括对备用数据流的支持。这不是众所周知的功能,主要包括提供与Macintosh文件系统中的文件的兼容性。
备用数据流允许文件包含多个数据流。每个文件至少有一个数据流。在Windows中,此默认数据流称为:$ DATA。
上传.php::$DATA绕过。(仅限windows)
不是众所周知的更能所以 程序员在写黑名单的时候会忽略
burp抓包修改后缀名为.php::$DATA
相比之前的代码 缺少了这一行
$file_ext = str_ireplace(‘::$DATA‘, ‘‘, $file_ext);//去除字符串::$DATA
一:点空格点
move_upload_file的文件名直接为用户上传的文件名,我们可控。且会删除文件名末尾的点和首尾去空
burp抓包 改文件后缀 .php.空格.
二:Apache陌生后缀解析漏洞
burp抓包 把 文件后缀改为 .jpg.php.asd 或者 .php.asd 试了一下asd可以换成其他的
Apache 读取后缀名是从后往前读的 不认识asd后缀 继续读前面的php后缀
标签:into 去掉 漏洞 cin 文件 抓包 多个 ati func
原文地址:https://www.cnblogs.com/liqik/p/10711912.html