郑重声明:本文仅限于技术讨论,禁止其他用途。
介绍
文件上传漏洞是Web安全中经常使用的一种漏洞方法。 一些网络应用程序允许将图片、文本或其他资源上传到指定位置。 文件上传漏洞就是通过那些可以上传的地方向服务器植入恶意代码,然后通过url访问执行代码。 然而,在一些安全性较高的Web应用中,往往存在各种上传限制和过滤器,导致我们无法上传特定文件。 本文就凑合着讨论一下。 通过本文的学习,您将了解Web应用程序中文件上传处理和验证发送的过程,以及我们如何绕过此验证。
客户端认证
客户端验证是在输入实际发送到服务器之前发生的验证。 大多数此类验证是通过 Java、VB 或 HTML5 完成的。 看来这对于用户来说是更快的响应速度和更好的体验。 但对于恶意攻击者来说,这种验证实际上就变得有点低级了。
客户端身份验证绕过
这种规避方式也很简单,我们可以关闭浏览器上的Javaphp 上传限制,或者在浏览器发送请求后,在HTTP请求发送到服务器之前对其进行篡改。
例子:
1.
正如你所看到的php 上传限制,这个Java只在你的请求实际发送到服务器之前处理你的请求,并检查你上传的文件扩展名是否是(jpg、jpeg、bmp、gif、png)。 这样我们就可以拦截请求并篡改文件内容(恶意代码),然后将图片扩展名修改为可执行文件的扩展名(如php、asp)。
如上图所示,我们尝试直接上传 PHP 文件,但 Java 阻止了我们的文件上传请求。