web渗透笔记之文件上传漏洞


  1. 前端代码

  2. 逻辑绕过

  3. 文件内容检测

  4. 文件包含、文件备份

  5. 容器及语言特性

  6. 畸形报文

  7. 系统特性

  8. 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.8.41-1.5.6
    利用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

    文件上传漏洞修复

    1. 服务器配置不当
      重新配置好服务器。
      服务器PUT方法配置不当可参见HTTP请求方法(PUT)。

    2. 开源编辑器上传漏洞
      若新版编辑器已修复漏洞,请更新编辑器版本。

    3. 本地文件上传限制被绕过
      在服务器后端对上传的文件进行过滤。

    4. 过滤不严或被绕过
      建议使用白名单的方法对文件进行过滤。

    5. 文件解析漏洞导致文件执行
      升级web服务器版本或安装相应的官方补丁。

    6. 文件路径截断
      使用随机数改写文件名和文件路径,不要使用用户定义的文件名和文件路径。

    除了以上的方法之外,还可将被上传的文件限制在某一路径下,并在文件上传目录禁止脚本解析。

    相关