文件上传基础

解析漏洞

不是涉及的版本不是最新版……

IIS

IIS 6.0

  1. IIS中的*.asa *.asp 文件夹中的文件都会被当成asp文件解析
  2. 文件为*.asp;1.jpg时会被当成ASP脚本执行
  3. WebDav

它是基于HTTP 1.1 协议的通信协议,它扩展了HTTP协议,添加了新的方法

打开WebDav后支持PUT Move Copy Delete

IIS Write 是一款探测WebDav漏洞的软件

  • 使用 OPTIONS 查看支持的所有方法
  • 通过PUT上传文件

    PUT /1.txt HTTP/1.1
    Host:www.example.com
    Content-Length: 30
    
    <% …………%>
  • 使用Move 或 Copy 方法改名

    COPY /1.txt HTTP/1.1
    Host:www.example.com
    Destination: http://www.example.com/cmd.adp
  • 这样就能getshell
  • 还可以使用Delete方法删除任意文件

    DELETE /1.txt HTTP/1.1
    Host:www.example.com

Apache

1.x 2.x

Apache在解析文件时有一个原则:碰到不认识的扩展名时,会从后向前解析,知道碰到认识的扩展名为止

example:
1.php.rar.xs.aa 这时就会从后往前解析,直到遇到.php

PHP CGI

在php的配置文件中:cgi.fi: x_pathinfo 这个选项在某些版本中,默认是开启的,在访问URL时,如www.example.com/1.txt/1.php

这时如果1.php不存在,则.php将会向前递归解析

该漏洞在Nginx IIS7.0 IIS7.5 Lighttpd 等web容器中容易出现

主要利用方法就是上传合法文件名,然后进行非法解析

绕过上传漏洞

  1. 绕过前端javascript 过滤
  2. 绕过黑名单

asp php jsp php5 asa aspx

  1. 修改MIME
  2. 截断上传

将 1.asp空格xx.jpg 进入十六进制编辑器将空格的16进制数20修改为00,最后会发现上传到服务的文件变成了1.asp

  1. 使用.htaccess .user.ini 配置文件的绕过
web
最后修改于:2021年03月31日 21:43

添加新评论