web渗透之全网最通俗易懂的上传漏洞利用技巧整理
2019-11-19 17:02:30 Author: www.secpulse.com(查看原文) 阅读量:322 收藏

一,利用文件解析漏洞

二,上传本地验证绕过

三,上传服务器端验证绕过

一 ,文件解析漏洞

解析漏洞主要说的是一些特殊文件被“IIS,Apache,Nginx”在某种情况下解释成脚本文件格式的漏洞。

像IIS,Apache,Nginx这些容器在特定版本下是存在解析漏洞的。像IIS5.X/6.0这些老版本都存在解析漏洞。

IIS6.0解析利用方法有两种

1,目录解析

/xx.asp/xx.jpg。在网站下建立文件夹的名字为.asp,.asa的文件夹,任何扩展名的文件都被IIS当做asp文件夹解析并执行,例如:创建目录111.asp,那么 /111.asp/1.jpg 将被当成asp文件来执行,假如黑客可以控制上传功能,那么上传后的图片改不改名都能拿到shell

2,畸形文件名解析

在IIS6.0下,分号后面的不被解析,也就是说你上传x.asp把名称改成x.asp;.jpg 方便上传,如果上传后你的图片名字没有改的话,服务器在读到分号后就不往下读了,就会以脚本的格式来运行。

Apache解析漏洞

Apache 是从右到左开始判断解析,如果为不可识别解析,就继续向左解析,

比如 haue.php.owf.rar “owf” ‘rar’ 这两种后缀是Apache不可识别解析,Apache会把haue.php.owf.rar 解析成php。

如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个haue.php.jpg.png…去测试是否是合法后缀。

任意不识别的后缀,将会逐级向上识别.(对付黑名单效果好)

IIS7.0/IIS7.5/Nginx<8.03 畸形解析漏洞

IIS7.0/7.5就是我们的08服务器了,如果08服务器的php存在这种解析漏洞的话,我们上传个图片如111.jpg加个斜杠111.jpg/x.php(这个x没有限制)服务器就会当成php脚本类型来运行。

二,上传本地验证绕过

常见的上传检测方式

(1) 客户端 JavaScript 检测(通常为检测文件扩展名)

(2) 服务器 MIME 类型检测 (检测 content-Type 内容)

(3) 服务器端目录路径检测(检测跟path 参数相关的内容)

(4) 服务器文件扩展名检测(检测跟文件 extension 相关的内容)

(5) 服务端文件内容检测 (检测内容是否合法或者含有恶意代码)

1,客户端检测绕过

首先判断js本地验证

通常可以根据它的验证警告弹框的速度可以判断,如果你运行比较快,那么我们可以用burpsuit抓包,再点击提交的时候burp没有抓到包,就已经弹窗,说明这个就是js本地验证。

绕过方法:

1),使用burp抓包改名

2),使用firebug直接删除掉本地的js验证

3),添加js验证的白名单如将php的格式添加进去。

2,服务器 MIME 类型检测绕过

绕过方法:

直接用burpsuite抓包,得到post上传数据后,将content-Type:text/plain改成content-Type:image/gif

就可以绕过

3,服务器端目录路径检测

修改文件上传路径方法:用burp抓包,在upload/后面加上比如a.asp相应响应包的路径会发生变化。

三, 服务端检测绕过

(文件扩展名检测)

a,黑名单检测

b,白名单检测

c,文件头检测

绕过黑名单

1,文件名大小写绕过

像Asp, pHp之类的文件名绕过黑名单检测

2,名单列表绕过

用黑名单里没有的名单进行攻击,比如黑名单里没有asa或cer之类

3,特殊文件名绕过

比如发送的http包里打文件名改成test…asp.或test.asp_(下划线为空格).这种命名方式在Windows系统里是不被允许的,所以需要在burpsuite之类里进行修改,然后绕过验证后,会被Windows系统自动去掉后面的点和空格,注意Linux系统没这个特性,

4, 0x00截断绕过

什么是00截断呢?方法: 通过打开burp的数据包找到上传到图片如filename=2.jpg 把它的文件名改成2.php%00.jpg 鼠标选中“%00”按住Ctrl+shift+u 即可将后面的截断 上传到服务器就是php文件了,利用00截断可以绕过一些白名单黑名单

5,调用解析漏洞

白名单绕过

1,0x00截断绕过

文件头检测绕过

当我们把脚本文件改为图片文件上传时遇到文件头检测时,是不允许上传的,因为一个图片的文件头跟一个脚本的文件头是不一样的,jpg的文件头对应16进制会显示JFIF

gif会显示GIF89a。

绕过方法,在文件头写下gif89a 意思是告诉检测系统我是个gif格式的图片

文件加载检测

这个就是最变态的检测了,它会对文件进行二次渲染。相对来说是比较安全的

其他绕过方法(双文件上传绕过)

剩余绕过方法后续会继续补充。

转载自:https://blog.csdn.net/qq_40529133/article/details/89199085

本文作者:成都网尊信息科技

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/118729.html


文章来源: https://www.secpulse.com/archives/118729.html
如有侵权请联系:admin#unsafe.sh