文件上传限制绕过

栏目: 服务器 · Apache · 发布时间: 6年前

内容简介:本文将讨论Web应用程序如何处理文件上传的方法,以及如何验证发送到服务器的文件以及如何绕过这些验证。客户端验证是一种在输入内容实际发送到服务器之前进行的验证。它通过JavaScript,VBScript或HTML5属性在Web浏览器上进行。程序员使用此类验证通过在浏览器级别快速响应来提供更好的用户体验。

作者: {Persist}@ArkTeam

本文将讨论Web应用程序如何处理文件上传的方法,以及如何验证发送到服务器的文件以及如何绕过这些验证。

  • 客户端过滤验证

客户端验证是一种在输入内容实际发送到服务器之前进行的验证。它通过JavaScript,VBScript或HTML5属性在Web浏览器上进行。程序员使用此类验证通过在浏览器级别快速响应来提供更好的用户体验。

  • 客户端过滤绕过

通过关闭浏览器上的JavaScript或在请求退出浏览器之后以及在将其发送到服务器之前篡改HTTP请求,可以轻松绕过这种类型的验证。

文件上传限制绕过

图1 客户端过滤绕过

我们能够通过浏览器上传常规图像然后通过更改请求来绕过这种类型的验证。在这种情况下,我们重命名该文件并使用.php扩展名而不是.jpeg扩展名,我们还用恶意代码替换了该文件的内容。

  • 文件扩展名验证

文件名验证是指服务器通过检查其扩展名来验证正在上载的文件时,此验证基于许多方法进行,但两种最常用的方法是黑名单文件扩展名和白名单文件扩展名。黑名单文件扩展名是一种保护类型,其中只有特定的扩展名被拒绝从服务器,如php,aspx。 虽然白名单文件扩展名正好相反,但只允许将少量文件扩展名上传到服务器,例如jpg,jpeg,gif。

文件上传限制绕过

图2 文件扩展名名白名单验证

  • 文件扩展名绕过

一些文件名验证方法可以通过上传不同的不受欢迎的扩展或在上传文件时使用一些技巧绕过这种类型的验证来绕过。

绕过黑名单和白名单:

  • 黑名单绕过

可以通过上传不受欢迎的 php 扩展来绕过黑名单。如:pht,phpt,phtml,php3,php4,php5,php6。

文件上传限制绕过

图3 文件扩展名黑名单验证绕过

如图3所示,我们可以上传php文件但是使用.php5扩展名来绕过验证,而且Apache服务器可以把它自动识别为PHP文件运行。

  • 白名单绕过

可以通过上传具有某种类型技巧的文件来绕过白名单,例如添加空字节注入,如(shell.php%00.gif)。 或者对上传的文件使用双扩展名(shell.jpg.php)。

文件上传限制绕过

图4 文件扩展名白名单验证绕过

如图4所示,我们能够通过上传带有双扩展名的php文件来绕过此验证,以通过将”shell.jpg.php”上传到服务器来绕过此类验证。

  • 内容类型验证

内容类型验证是指服务器通过检查文件的MIME类型来验证文件的内容,该类型可以在http请求中显示。例如,某些图像文件上传通过检查文件的内容类型是否为图像类型来验证上载的图像。

文件上传限制绕过

图5 内容类型验证

  • 内容类型绕过

可以通过将文件名更改为”shell.php”或”shell.aspx”,但将”Content-Type”参数保持为”image / *”Content-Type来绕过此类验证。 例如”image / png”,”image / jpeg”和”image / gif”。

文件上传限制绕过

图6 内容类型绕过

我们可以通过上传可执行文件轻松绕过这种类型的验证,在我们操作请求并将”Content-Type”字段更改为Web服务器接受的图像的MIME类型之后。

  • 内容长度验证

内容长度验证是指服务器检查上载文件内容的长度并限制不能超过的文件大小,虽然这种类型的验证不是很流行,但它可以显示在某些文件上传中。

  • 内容长度绕过

这种类型的验证可以通过在上传文件中上传非常短的恶意代码来绕过,具体取决于Web服务器上的最大大小限制。我们可以通过使用不同的文件大小和检查来模糊文件上载器来计算Web服务器上的特定大小 是否接受该文件。


以上所述就是小编给大家介绍的《文件上传限制绕过》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

增长黑客

增长黑客

范冰 / 电子工业出版社 / 2015-7-1 / CNY 59.00

“增长黑客”这一概念近年来兴起于美国互联网创业圈,最早是由互联网创业者Sean Ellis提出。增长黑客是介于技术和市场之间的新型团队角色,主要依靠技术和数据的力量来达成各种营销目标,而非传统意义上靠砸钱来获取用户的市场推广角色。他们能从单线思维者时常忽略的角度和难以企及的高度通盘考虑影响产品发展的因素,提出基于产品本身的改造和开发策略,以切实的依据、低廉的成本、可控的风险来达成用户增长、活跃度上......一起来看看 《增长黑客》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具