首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一个比较好玩的WebShell上传检测绕过案例

一个比较好玩的WebShell上传检测绕过案例

作者头像
FB客服
发布2018-02-26 11:08:52
2K0
发布2018-02-26 11:08:52
举报
文章被收录于专栏:FreeBufFreeBuf

背景介绍

一次普通的 WEB 测试过程,遇到了一个上传点,可以上传固定图片格式但是可以任意名字+任意后缀名的文件。

环境

IIS 7.5/ ASP.NET - Windos SERVER 2008 R2

过程

0x1 测试

看起来怼这个好像没有任何技术含量,直接扔图片马就是了。

但是呢,一般的图片马是不行的,回顾一下我们经常用也是流传最广的做图片马的方式。

1: 直接在 shell 头加 gif89a 2: 使用 Copy 大法 3: 没了

相信大多数人都是用的都是以上的几种方式,平常来说图片马不能用都是直接放弃的这个点的。

那么这里介绍另外一种,拓展信息插一句话。

先说说上传点的检测机制:程序采用 GDI+ 插件将用户上传的图片处理后保存。

作者的脑子很简单,当然这个思路也没什么错,毕竟只要是正常的图片文件没必要拦截。

而作者写的这个程序也的确很牛逼,copy 大法是完全失效的。

经过 copy 的图片马在程序过滤后都被剔除干净了。

可以看到用 Copy 打发做出来的被过滤的啥也不剩了,尝试了各种混合模式都不行。

所以看起来理论上这玩意能拦截除了图片本身的信息之外的任何额外附加信息。

0x2 绕过

但是呢, 程序作者好像漏了什么,图片本身的信息也是大有作为的。

前面提到的拓展信息插一句话,右键属性然后添加就行。

而这种手段,基本上四肢健全不需要像我一样定期去看兽医的一看就会,不需要写代码也不需要额外的工具。

用 BurpSuite 怼上去。

总结:

不要相信用户输入的任何信息,也不要对自己的编码水平有太高的期望。

在本次案例中,首先是未对上传文件的名称做任何校验就写入硬盘这明显是不可取的。

其次就是对 GDI+ 插件的过分信任,并没有对扩展信息内容做校验便立即放行了。

更加厉害的是,通过查询服务器进程发现,服务器是裸奔状态。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 过程
    • 0x1 测试
      • 0x2 绕过
      • 总结:
      相关产品与服务
      图片处理
      图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档