文件上传小结

 

1.00截断上传:php

  截断的核心在于chr(0)这个字符,这个函数表示返回以数值表达式值为编码的字符,举个例,print chr(78) 结果是N,因此char(0)表示的ascll字符是null,当程序输出包含chr(0)变量时,chr(0)后面的数据会被截断,后面的数据直接忽略,致使漏洞产生。html

假设上传后端代码以下:shell

1 <?php
2     $path="upfiles/picture/" 
3     $file="XXX.jpg" 
4     $upfilename=path & file '最后的上传地址 
5 php>

则通过截断上传经过在容许上传的文件后缀名前加上空格并在burp种将其hex值变为00后端

则通过chr()函数后会变为空则其后的部分都不会被解析。函数

 2.Apache1.X 2.X解析漏洞:编码

Apache在以上版本中,解析文件名的方式是从后向前识别扩展名,直到碰见Apache可识别的扩展名为止。spa

 3.iis6.0解析漏洞code

①:文件目录.asp,.asa,.cer下的文件都会被看成asp文件解析htm

②:文件名中若含有asp则做为asp文件解析,例如shell.asp;.jpgblog

4.Nginx解析漏洞:

以上Nginx容器的版本下,上传一个在waf白名单以内扩展名的文件shell.jpg,而后以shell.jpg.php进行请求。

以上Nginx容器的版本下,上传一个在waf白名单以内扩展名的文件shell.jpg,而后以shell.jpg%20.php进行请求。

5.PHP CGI解析漏洞:

以上的容器版本中默认php配置文件cgi.fix_pathinfo=1时,上传一个存在于白名单的扩展名文件shell.jpg,在请求时以shell.jpg/shell.php请求,会将shell.jpg以php来解析。

 更多姿式参考:https://xianzhi.aliyun.com/forum/mobile/read/458.html

相关文章
相关标签/搜索