文件上传漏洞方法总结

文件上传漏洞
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令
的能力。这种攻击方式是最为直接和有效的,“文件上传” 本身没有问题,有问题的是文件上传
后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
一 客户端绕过
可以通过禁用js来上传php文件
通过利用 burp 抓包改包,先上传一个 png类型的木马,然后通过 burp 将其改为php 后缀名即可
二 服务端绕过
(1) 黑名单扩展名绕过
比如phtml php3 asp asa cer cdx,htr,xml,html
(2)单双重后缀名绕过
上传时将 Burpsuite 截的数据包中文件名 1.php改为1.pphphp检测函数在遍历的过程中遇到第一个"php"字符串"后被删掉, 开头的'p'和结尾的'hp'就 组合又形成了 php
(3)白名单绕过
有过滤的话可以尝试在上传的过程改包,把后缀改为php也可以尝试用phtml后缀,此后缀文件也会
被当php文件解析,还有就是可以在php后面加点绕过,或加点空格点,或者通过大小写绕过,把
php改成Php
(4)%00截断绕过
通过抓包截断将 1.png 后面的一个.换成%00 在上传的时候即 1.png,当文件系统读到%00 时,会
认为文件已经结束,从而达到攻击的目的。%00 不是针对所有基于白名单的后缀名检查都能绕过,
代码的实现过程中必须存在截 断上传漏洞,上传格式如下:1.php%00
(5)文件头内容检测绕过
可以用cmd的指令copy 1.png/b+1.php/a 123.png
制作图片马这样可以保留图片头绕过、
(6)利用文件包含漏洞进行上传可以把图片内容解析执行代码
(7)burp爆破绕过 通过不断上传,还没等服务端删掉文件就已经上传成功
(8)二次渲染绕过
有时上传的图片马会被二次渲染,里面的16进制数据会被改变 只需要找到不会被渲染的区域写入木马即可
(9)利用.htaccess文件实现解析图片马
(10)与文件包含合作使用

你可能感兴趣的:(web安全)