文件上传要点

文件上传

windows特性:

1.ntfs文件系统的存储数据流的一个data属性

phpinfo.php::$data 会被解析成一个phpinfo.php文件

2.1.php:.jpg这类文件在上传后,在 Windows中会被保存为一个空的1.php文件,然后可
以再上传一个1.php<>或者1php<或者其他 Windows不允许的后缀,就会覆盖前边那个空的
1.php

3.上传 shell.php(%80-99),会被识别成shell.php

IIS解析漏洞:

  1. 目录解析

以*.asp命名的文件夹里的文件都将会被当成ASP文件执行。

  1. 文件解析

*.asp;.pg 像这种畸形文件名在“;”后面的直接被忽略,也就是说当成 *.asp文件执行。

nginx漏洞:

1.解析漏洞

上传一个带木马的1.jpg图片

然后访问1.jpg/1.php,首先看到php后缀,先交给php判断,发现没有1.php那么删除,然后判断1.jpg是否存在,存在,把它当作要执行的文件,可以在配置文件中修改一个信息,允许把jpg文件解析成php文件,那么这样子就会造成解析漏洞。

还有一种解析漏洞:利用方法1.jpg%00.php %00截断

cve-2013-4547漏洞

http://127.0.0.1/file.htmlAAA.php

我们需要的是未编码的空格和截止符(\0),那么我们把第一个A改成20(空格的ascii值),第二个A改成00(截止符),第三个A改成2e(.的ascii值)

畸形后缀:

php3 php4 php5 php7 phtml pht phps

绕过:

1.任意文件直接上传

2.前端JS绕过

3.黑名单/白名单绕过——扩展名绕过。

4.Windows特性绕过

5.大小写、双写绕过

6.解析漏洞绕过(apache解析漏洞,从右往左解析,遇到不知道的后缀直接绕过)

7.条件竞争绕过

8.与文件包含漏洞结合绕过

9.%00截断绕过

10.文件类型绕过(Content-Type)

  1. .htaccess(apache)和.user.ini(ngnix)

文件下载

一般都是目录穿越

download.php?f=../../../../../../etc/passwd

read.php?f=file:///etc/passwd

posted @ 2022-01-11 13:58  るろうに剣心  阅读(36)  评论(0编辑  收藏  举报