文件上传
2021-02-04 08:14
标签:文件名 cat head set 配置错误 后缀名 漏洞 上传漏洞 windows 文件上传时检查不严格,可以直接上传php,asp等代码 文件上传后修改文件名处理不当 引用第三方插件 服务器配置不当 开源编辑器的上传漏洞 本地文件上传限制被绕过 文件解析漏洞导致文件执行 文件路径截断 限制内容 绕过方式 限制内容 后缀 Content-Type image/gif 文件头 文件大小 绕过方式 (1)上传 shell. php(%80-99) Windows特殊字符: 当我们上传一个文件的filename为shell.php{%80-%99}时: (2)文件名后添加..... Windows在创建文件时,在文件名末尾不管加多少点都会自动去除,那么上传时filename可以这么写shell.php…也可以这么写shell.php::$DATA…。 (2) NTFS ADS特性 1php:.jpg这类文件在上传后,在 Windows中会被保存为一个空的1.php文件,然后可 apache2.0、apache2.2 成因 1、配置错误导致的解析漏洞 使用条件 IIS 5.×-6.x IIS 7.0-7.5 PHP CGI解析漏洞 参考链接 参考链接 文件上传 标签:文件名 cat head set 配置错误 后缀名 漏洞 上传漏洞 windows 原文地址:https://www.cnblogs.com/tomyyyyy/p/13144013.html
文件上传
文件上传的原因
引起的问题
常见存在文件上传漏洞的地方
webshell
绕过方式
前端过滤
黑名单
白名单
绕过方式总结
.htaccess文件
#类似于把文件名包含1的解析成php
windows特性
waf可能识别为.php{%80-%99},就会导致被绕过。
上传的文件名
服务器表面现象
生成的文件内容
Test.php:a.jpg
生成Test.php
空
Test.php::$DATA
生成test.php
Test.php::$INDEX_ALLOCATION
生成test.php文件夹
Test.php::$DATA\0.jpg
生成0.jpg
Test.php::$DATA\aaa.jpg
生成aaa.jpg
以再上传一个1.php或者1php
1.phpApache解析漏洞
由于 Apache识别文件的规则是根据后缀名从右往左进行识别,遇到不在识别范围内就会自动忽
略,往左进行识别,如果左边是在解析范围內的就会正常解析,而一般程序进行判断文件是否
允许上传是根据最后的后缀名进行判断的。Nginx解析漏洞
对于任意文件名,在后面加上/任意文件名php后该文件就会以php格式进行解析,是用户配置不
当造成的
2、00截断
利用0截断,如shell.jpg%00.php
访问以下网址,服务器将把xx.jpg文件当做php解析并执行。http://www.xxx.com/xx.jpg.php
利用0截断,如shell.png%20%00.php.user.ini
使用方式
(1)、上传一张图片
(2)、上传 user. ini文件。内容为auto_prepend_file=2.jpg
(3)访问:http://ip/UpLoad/2.png/xx.php(目录中存在的一个php文件)IIS解析漏洞
在默认Fast-CGI开启状况下,访问以下网址,服务器将把xx.jpg文件当做php解析并执行。http://www.xxx.com/xx.jpg/.php