原文为pkav之当PHP邂逅windows通用上传缺陷。
在文件上传时,我们往往会考虑到文件名截断来绕过黑名单限制,如%00 等。除此之外还有使用冒号(":")去截断,如:bypass.PHP:jpg。但是问题在于这种方式生成的文件是空白的,里面的不含有任何内容。
那么该如何利用这个生成的空白文件呢?
PHP+window+iis环境下:
双引号(">") <==> 点号(".")';
大于符号(">") <==> 问号("?")';
小于符号("<") <==> 星号("*")';
从上面"<" 就等于 "*",而"*"代表任意字符,于是乎,我们可以这样修改上传的文件名,如下:
filename="bypass.<<<"从而覆盖掉bypass.PHP这个原本为空的文件。
类似的性质还有::$DATA这种常用的文件上传黑名单绕过方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。