博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单利用filetype进行文件上传
阅读量:6671 次
发布时间:2019-06-25

本文共 960 字,大约阅读时间需要 3 分钟。

    对于文件上传大家都很熟悉了,毕竟文件上传是获取webshell的一个重要方式之一,理论性的东西参考我的另一篇汇总文章《》,这里主要是实战补充一下理论内容——filetype漏洞!

  filetype漏洞主要是针对content-type字段,主要有两种利用方式:

    1、先上传一个图片,然后将content-type:image/jpeg改为content-type:text/asp,然后对filename进行00截断,将图片内容替换为一句话木马。

    2、直接使用burp抓包,得到post上传数据后,将Content-Type: text/plain改成 Content-Type: image/gif。

    这里补充一个简单的利用filetype可控来进行任意文件上传,之前在ctf中遇到过,但是以为在实际环境中应该是不会出现的,可惜还是被我遇到了!

    实验环境:asp,iis7.5,windows 2008 r2

    当我们找到一个上传点时,我们上传一个asp的一句话马,对应的http请求数据包如下,如图1所示:

图1 上传失败

    此时我们上传失败了,说扩展名非法(应该是白名单限制),而http请求数据包中的filetype显示是*,不是应该都支持吗?这时我们就使用各种方式上传,目录解析(通过尝试是可以任意创建上传的目录名称的)、00截断、从左到右解析、从左到右解析。。。。。结果都失败了!

    本来以为没有办法了,因为通过下载配置文件web.config发现,做了白名单限制,如图2所示,应该是没办法了!

图2 web.config

    最后我精灵地发现(瞎猫碰到死耗子)将filetype的*直接修改为asp,然后成功上传,如图3所示。

图3 修改filetype上传成功

    然后我们访问该目录,看看是否真的上传成功,有没有被杀这类的,如图4所示,一句话确实是上传成功了。

图4 一句话可正常访问

    最后使用菜刀进行连接,成功获取到一个webshell,如图5所示。

图5 成功获取webshell

    总结:

    本篇文章主要是记录一下平时的一些经验技巧,由于经常受到固定思维的限制,每每都要到最后才会想到碰碰运气!

本文转自 eth10 51CTO博客,原文链接:http://blog.51cto.com/eth10/1958799

转载地址:http://gglxo.baihongyu.com/

你可能感兴趣的文章
Essential Grid for WPF
查看>>
python实现一个简单的dnspod api
查看>>
我是在工作?学习?混日子?
查看>>
内存管理初级基础--代码
查看>>
关于Android Force Close 出现的原因 以及解决方法
查看>>
linux tar、find命令运维实践
查看>>
查询oracle数据库编码
查看>>
分发系统-expect-批量同步文件、批量执行命令
查看>>
activiti相关配置
查看>>
poj(1458)(最长公共子序列)
查看>>
virtualbox增加硬盘
查看>>
Exchange 2010邮件收发信大小限制
查看>>
js闭包浅了解
查看>>
解决"win8"无法使用内置管理员账户打开
查看>>
ProxmoxVE 之 创建win10基础镜像模板
查看>>
yum
查看>>
JQuery 级联(ul仿select级联)
查看>>
Delphi 2009 中 TStrings 与 TStream 的增强
查看>>
JSON 之 SuperObject(9): TSuperType
查看>>
Java反射机制
查看>>