文件上传攻防解析

文件上传攻防解析

ID:20234435

大小:35.00 KB

页数:7页

时间:2018-10-10

文件上传攻防解析_第1页
文件上传攻防解析_第2页
文件上传攻防解析_第3页
文件上传攻防解析_第4页
文件上传攻防解析_第5页
资源描述:

《文件上传攻防解析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Web攻防系列教程之文件上传攻防解析文件上传是WEB应用很常见的一种功能,本身是一项正常的业务需求,不存在什么问题。但如果在上传时没有对文件进行正确处理,则很可能会发生安全问题。本文将对文件上传的检测方式以及如何绕过相应检测方式进行详细的分析,并提供针了对文件上传攻击的安全防护方法。文件上传攻击是指攻击者利用WEB应用对上传文件过滤不严,导致可以上传应用程序定义类型范围之外的文件到Web服务器。比如可以上传一个网页木马,如果存放上传文件的目录刚好有执行脚本的权限,那么攻击者就可以直接得到一个WebShell。    文件上传攻击的原理   由于服务器端没

2、有对用户上传的文件进行正确的处理,导致攻击者可以向某个可通过Web访问的目录上传恶意文件,并且该文件可以被Web服务器解析执行。    攻击者要想成功实施文件上传攻击,必须要满足以下三个条件:    1.可以上传任意脚本文件,且上传的文件能够被Web服务器解析执行,具体来说就是存放上传文件的目录要有执行脚本的权限。    2.用户能够通过Web访问这个文件。如果文件上传后,不能通过Web访问,那么也不能成功实施攻击。   3.要知道文件上传到服务器后的存放路径和文件名称,因为许多Web应用都会修改上传文件的文件名称,那么这时就需要结合其他漏洞去获取到这些

3、信息。如果不知道上传文件的存放路径和文件名称,即使你上传了也无法访问。    主流文件上传检测方式概述    主流的文件上传检测方式有以下五种:    1.客户端javascript检测客户端检测通常在上传页面里含有专门检测文件上传的javascript代码,在文件被上传之前进行检测,最常见的就是检测上传文件的文件类型和大小是否合法。   2.服务端MIME类型检测这类检测方法通过检查http包的Content-Type字段中的值来判断上传文件是否合法。   3.服务端文件扩展名检测这类检测方法通过在服务端检测上传文件的扩展名来判断文件是否合法。   4

4、.服务端目录路径检测这类检测一般通过检测路径是否合法来判断。   5.服务端文件内容检测这类检测方法相当对上面四种检测方法来说是最为严格的一种。它通过检测文件内容来判断上传文件是否合法。这里,对文件内容的检测主要有两种方法。   A.通过检测上传文件的文件头来判断。通常情况下,通过判断前10个字节,基本就能判断出一个文件的真实类型。B.文件加载检测,一般是调用API或函数对文件进行加载测试。常见的是图像渲染测试,再严格点的甚至是进行二次渲染。   如何绕过文件上传检测   上面我们分析了主流的文件上传检测方式,下面我们就来看下如何绕过上面提到的文件上传检

5、测方式,本文只讨论如何绕过前三种检测方式。    1.绕过客户端javascript检测这种检测方法是最不安全的,也是最容易被攻击者绕过的。Web应用不应只采用这一种手段检测上传文件,但可以作为一种辅助手段。因为采用客户端javascript检测可以增强应用对用户的友好度。由于javascript检测是在客户端实现的,所以我们完全能够控制它。可以在浏览器端禁用js脚本,比如在FireFox上安装FireBug这一插件就可以实现这一功能。另外一种是通过代理工具来实现,下面介绍利用BurpSuite来绕过客户端javascript检测。BurpSuite不仅

6、仅只是一个代理工具,更是一款强大的网络渗透利器。关于BurpSuite的详细资料请自行百度。    这个站点http://www.target.com(注:由于该网站为真实站点,为了目标网站的安全,所以用target来代替真实域名)的文件上传功能只采用了客户端javascript检测,所以很容易被绕过。下面我们来具体看下操作方法。首先,我们看一下正常情况下上传一个.asp文件,应用会有什么反应。    a.我们访问这个URL(http://www.target.com/AdvHTML_Popups/upload.asp),会出现一个上传文件的页面    

7、b.我们先选择一个.asp文件,这时会提示不允许上传这种类型的文件。注意,这时我们还没有点击“件,这时会提示按钮,就出现提示信息。我们可以判断出这个网站是在客户端判断上传文件类型的合法性的。上面的情况证明在正常情况下是不能成功上传.asp文件的,那么下面就来看下如何绕过这种检测吧。    c.我们先打开BurpSuite代理工具,然后配置浏览器使用代理。    d.我们先把刚才的那个.asp文件扩展名改为.gif,然后点击“然后点击“为那按钮。这时BurpSuite中就会拦截到浏览器提交的HTTP数据包。我们把filename字段的值webshell.g

8、if修改为webshell.asp,再点击“再点击“ell”按钮,会发现文件成功

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。