web渗透笔记之文件上传漏洞
-
前端代码
-
逻辑绕过
-
文件内容检测
-
文件包含、文件备份
-
容器及语言特性
-
畸形报文
-
系统特性
-
SQLI方面
上传文件时WAF检测点:
1)请求的url,url是否合法
2)Boundary边界,通过Boundary边界确定内容来检测内容
3)MIME类型,即content-type
4)文件扩展名
5)文件内容
文件上传后导致的常见安全问题一般有:
1)上传文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行。
2)上传文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在该域下的行为(其他通过类似方式控制策略文件的情况类似);
3)上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行。
4)上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。
本文重点是web层面的web shell
需要注意的要点:
1)上传后的路径在哪里
2)上传后的文件名是否被修改了
http://www.xxx.com/xx.jpg.php
利用0截断,如shell.png%20%00.php
http://www.xxx.com/xx.jpg/.php
http://www.xxx.com/a.jpg\0.php
https://mp.weixin.qq.com/s?__biz=MzU1MzE3Njg2Mw==&mid=2247483678&idx=1&sn=3be9bad41fd1b0f405f8323073ce415b&chksm=fbf79b6ecc801278abcfb113a2bbf02d97f8a04645cffa7ab3a98e05de38101132a14dfce38e&mpshare=1&scene=23&srcid=0403E5T7waRwwBC04A9sExdv#rd
文件上传漏洞修复
-
服务器配置不当
重新配置好服务器。
服务器PUT方法配置不当可参见HTTP请求方法(PUT)。
-
开源编辑器上传漏洞
若新版编辑器已修复漏洞,请更新编辑器版本。
-
本地文件上传限制被绕过
在服务器后端对上传的文件进行过滤。
-
过滤不严或被绕过
建议使用白名单的方法对文件进行过滤。
-
文件解析漏洞导致文件执行
升级web服务器版本或安装相应的官方补丁。
-
文件路径截断
使用随机数改写文件名和文件路径,不要使用用户定义的文件名和文件路径。
https://mp.weixin.qq.com/s?__biz=MzU1MzE3Njg2Mw==&mid=2247483678&idx=1&sn=3be9bad41fd1b0f405f8323073ce415b&chksm=fbf79b6ecc801278abcfb113a2bbf02d97f8a04645cffa7ab3a98e05de38101132a14dfce38e&mpshare=1&scene=23&srcid=0403E5T7waRwwBC04A9sExdv#rd
文件上传漏洞修复
-
服务器配置不当
重新配置好服务器。
服务器PUT方法配置不当可参见HTTP请求方法(PUT)。
-
开源编辑器上传漏洞
若新版编辑器已修复漏洞,请更新编辑器版本。
-
本地文件上传限制被绕过
在服务器后端对上传的文件进行过滤。
-
过滤不严或被绕过
建议使用白名单的方法对文件进行过滤。
-
文件解析漏洞导致文件执行
升级web服务器版本或安装相应的官方补丁。
-
文件路径截断
使用随机数改写文件名和文件路径,不要使用用户定义的文件名和文件路径。
服务器配置不当
重新配置好服务器。
服务器PUT方法配置不当可参见HTTP请求方法(PUT)。
开源编辑器上传漏洞
若新版编辑器已修复漏洞,请更新编辑器版本。
本地文件上传限制被绕过
在服务器后端对上传的文件进行过滤。
过滤不严或被绕过
建议使用白名单的方法对文件进行过滤。
文件解析漏洞导致文件执行
升级web服务器版本或安装相应的官方补丁。
文件路径截断
使用随机数改写文件名和文件路径,不要使用用户定义的文件名和文件路径。
除了以上的方法之外,还可将被上传的文件限制在某一路径下,并在文件上传目录禁止脚本解析。