文件上传-文件名长度绕过白名单限制

??在实际渗透中,当我们发现有文件上传的地方时,我们会尽可能地尝试所有的办法进行webshell的上传,只要能上传webshell,就说明本次渗透至少成功了一般,后续就看获得的webshell的权限情况进行下一步的操作。对于文件上传漏洞的防护来说,主要分为以下两类:白名单限制和黑名单限制,对于黑名单的限制,我们只需要寻找一些较为偏僻的可执行后缀、大小写混写以及相关操作系统的特性(如windows文件名后缀的最后会自动过滤空格以及.等)来进行绕过;对于白名单的限制来说,一般是结合解析漏洞、代码函数漏洞(icov(80-EF截断),造成00截断的相关函数)以及相关操作系统特性(如windows10文件名长度总共为223包括后缀,win2012的为237,linux ubuntu0.16.04.1文件名长度252等)来进行绕过!下面我们将以ubuntu0.16.04.1操作系统作为演示情况!


简单检查是什么限制

??首先我们输入php后缀进行测试,发现提示错误的文件后缀,如下图所示:

??接着我们输入一个不存在的文件后缀进行测试,发现依旧提示是错误的后缀,如下图所示,到此我们可以简单认为本上传点是白名单限制上传,只允许特定后缀文件上传!

根据限制类型进行尝试

??通过上面我们知道是白名单限制,并且通过前期信息收集发现webserver为Nginx,操作系统为linux(ubuntu),通过Nginx解析漏洞无法进行上传,所以我们使用构造超长文件名进行绕过本次的白名单限制上传。
??由于很多时候我们不知道具体的操作系统,所以我们只能使用很长文件名进行测试(如果有报错信息提示我们就可以慢慢构造出来,如果没有报错信息就只能慢慢尝试(可以自己先搭建一些常见的系统【win03 win08 win12 ubuntu redhat等】进行测试文件名长度为多少来进行逐一测试))。
??首先进行尝试超长字符,提示文件名过长,如下图所示,然后我们进行逐个递减,减到一个刚好能成功上传的地方。

??通过最后得知,最长为252,如下图所示:

??最后我们将jpg后缀前面的文件名末尾更换为.php来进行文件上传,文件上传成功,如下图所示:

??最后我们通过访问进行验证是否可以正常解析该文件,从而获取webshell,通过访问可知,成功获取webshell,如下图所示:

关于其他文件解析及上传参考此处

原文地址:http://blog.51cto.com/eth10/2103563

时间: 2024-10-08 04:56:48

文件上传-文件名长度绕过白名单限制的相关文章

文件上传漏洞(绕过姿势)

文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接.但是想真正把这个漏洞利用好却不那么容易,其中有很多技巧,也有很多需要掌握的知识.俗话说,知己知彼方能百战不殆,因此想要研究怎么防护漏洞,就要了解怎么去利用.此篇文章主要分三部分:总结一些常见的上传文件校验方式,以及绕过校验的各种姿势,最后对此漏洞提几点防护建议.(根据个人经验总结,欢迎补充纠错~~) 文件上传校验姿势 客户端javascript校验(一般只校验后缀名) 服务端校验 文件头content-type

文件上传漏洞及其绕过

1.前端JS验证 基于本地验证文件是否符合要求:直接将JavaScript禁用.或者burp抓包后修改后缀,将php文件后缀现先改为jpg,burp抓包后后缀改回php. 2.MIME 类型验证 burp抓包将Content-type类型修改为image/jpeg,image/png等 3.黑名单验证 ①寻找没有过滤的类型: phtml php3 php4 php5 PHP phtm 例如phtml php3 php4 php5 PHP phtm这些后缀名首先得让服务器支持这些解析为php脚本运

Web开发安全之文件上传安全

很长一段时间像我这种菜鸡搞一个网站第一时间反应就是找上传,找上传.借此机会把文件上传的安全问题总结一下. 首先看一下DVWA给出的Impossible级别的完整代码: <?php if( isset( $_POST[ 'Upload' ] ) ) { // Check Anti-CSRF token checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' ); // File informa

文件上传漏洞原理与实例测试

0x00 什么是文件上传 为了让用户将文件上传到网站,就像是给危机服务器的恶意用户打开了另一扇门.即便如此,在今天的现代互联网的Web应用程序,它是一种常见的要求,因为它有助于提高业务效率.企业支持门户,给用户各企业员工有效地共享文件.允许用户上传图片,视频,头像和许多其他类型的文件.向用户提供的功能越多,Web应用受到攻击的风险和机会就越大,这种功能会被恶意用户利用,获得到一个特定网站的权限,或危及服务器的可能性是非常高的. 0x01 为什么文件上传存在漏洞 上传文件的时候,如果服务器脚本语言

非法文件上传漏洞技术

1 上传技术基础 1.1 JS验证绕过类 如何判断为本地验证呢? 一般情况下速度较快的返回信息认为是本地验证,但有时候需要根据抓包以及跟踪上传代码来分析是否为本地验证. 删除验证方法绕过上传 修改过滤白名单绕过上传 在客户端的检测中,通常使用JS对上传图片检测,包括文件大小.文件拓展名.文件类型等.在绕过本地上传限制时,可以使用Firebug对客户端的脚本进行编辑. 1.2 MIME类型检测绕过类 MIME作用:使用客户端软件,Web服务器使用MIME来说明发送数据的种类,Web客户端使用MIM

1.文件上传漏洞简介

文件上传漏洞 文件上传漏洞 当文件上传时,若服务端脚本语言未对上传的文件进行严格验证和过滤,若恶意用户上传恶意的 脚本文件时,就有可能控制整个网站甚至是服务器,这就是文件上传漏洞. 权限 1. 后台权限:登陆了后台,可以进行一些操作.配置 2. 网站权限:获得了webshell,可以进行查看源代码等操作 3. 服务器权限:可以对服务器进行任意操作 漏洞分类 1. 配置不当可直接上传shell,HTTP的PUT方法开启了 2. 文件解析漏洞导致文件执行,Web容器解析漏洞 3. 本地文件上传限制被

DVWA 黑客攻防实战(五)文件上传漏洞 File Upload

说起文件上传漏洞 ,可谓是印象深刻.有次公司的网站突然访问不到了,同事去服务器看了一下.所有 webroot 文件夹下的所有文件都被重命名成其他文件,比如 jsp 文件变成 jsp.s ,以致于路径映射不到 jsp 文件,同事怀疑是攻击者上传了个 webshell 文件然后进行批量重命名了. 把后台的代码都找了一遍,后台代码也都有验证文件扩展名的,后面是发现一张普通的照片其实是代码来的,但也不知道为何能够执行.但看完这篇文章你就会明白了. 下面用 dvwa 来演示如何攻击和防御. 低级 用户界面

文件上传漏洞防御

本来的上传(一波白名单和重新命名) Web中间件上传或(CMS上传) 升级 原文地址:https://www.cnblogs.com/lyxsalyd/p/12606948.html

Getshell | 文件上传绕过整理

WAF绕过 安全狗绕过 1.绕过思路:对文件的内容,数据.数据包进行处理. 关键点在这里Content-Disposition: form-data; name="file"; filename="ian.php" 将form-data; 修改为~form-data; 2.通过替换大小写来进行绕过 Content-Disposition: form-data; name="file"; filename="yjh.php" C