分享好友 最新动态首页 最新动态分类 切换频道
简单总结文件上传漏洞
2024-12-28 22:24

无图言diao系列;;
排版样式我看着还行
能看完大概会有用;
代码基本能直接用(大概;
有错误恳请指出欢迎发邮件与我交流;
参考了网上已有的博客,侵删;

用户突破服务端限制向服务器上传了未经允许的文件,可能是恶意代码或是恶意程序。

但是存在问题,单一的文件上传漏洞并没有直接造成服务器权限的丢失。如果服务器web容器无法解析上传的恶意代码,上传的文件将毫无意义,就相当于在硬盘上有一个病毒文件,但如果我们永远也不去执行它,那他就只是一段存在硬盘上的01而已

文件上传可能存在的安全问题:

  1. 上传文件为 Web 脚本,服务器的 Web 容器解释并执行了该脚本,导致代码执行——webshell;
  2. 上传文件是 Flash 的策略文件 crossdomain.xml,攻击者可以控制 Flash 在该域下的行为;
  3. 上传文件是病毒、木马文件,攻击者用以诱骗用户或者管理员下载执行;
  4. 上传文件是钓鱼图片或包含了脚本的图片,在某些版本的浏览器中被作为脚本执行,进而被用于欺诈。

webshell 形成的条件:

  1. 上传的文件位于 Web 容器能够覆盖的目录,从而能够被 Web 容器解释执行;
  2. 用户能够从 Web 上访问这个文件,从而触发 Web 容器解释执行上传的脚本;




针对以上js验证代码,简单两种绕过方式:

  • 使用浏览器firebug插件
    找到并删除调用js脚本的HTML事件,则不会调用js脚本进行验证,直接上传文件
  • 使用中间代理burp suite
    拦截并修改HTTP数据包中的数据,同时要注意HTTP请求头中Content-Length,应该与实体正文长度一致,否则可能出现上传失败
  • 黑白名单验证:

(1)黑名单验证


  1. 存在被忽略的危险扩展名,例如
  2. 没有对文件名进行大小写转换操作,使用大写后缀名将正常上传并被解析,例如
  3. 能被解析的文件扩展名列表:
  4. 在win下,如果文件名以结尾或者以空格结尾,系统将自动去除,导致绕过验证并在服务器端写程序时以正常后缀名写入执行

(2)白名单验证


与黑名单相反,将验证数组换为允许上传的后缀名,进行迭代判断;若命中则允许上传,否则拒绝上传。由于一些解析漏洞的存在,例如IIS6.0中,命名上传,格式为jpg,但在服务器端解析时,将作为asp脚本解析


  • MIME验证:

mime介绍:http://www.w3school.com.cn/media/media_mimeref.asp
是可以反映出一个文件格式的因特网标准
前台应用程序将判断上传文件的MIME格式,并将其附加到HTTP请求头中,作为服务端判断检测的依据。使用中间代理工具可以修改HTTP头,将字段绕过检测。




  • 文件头绕过:

在客户端可以读取一部分文件内容,检测其文件头和文件结束符,这种方法利用的是每一个特定类型的文件都会有不太一样的开头或者标志位。可以通过比如php的exif_imagetype()函数,一个通过这种方法来过滤的示例代码如下:


此时,把脚本头部加上相应的文件幻数即可,
例如。原理是php引擎会将<? 之前的内容当作html文本,不解释而跳过之,后面的代码仍然能够得到执行

其他的文件幻数如下表:

格式 文件头 TIFF (tif) 49492A00 Windows Bitmap (bmp) 424D CAD (dwg) 41433130 Adobe Photoshop (psd) 38425053 Rich Text Format (rtf) 7B5C727466 MS Word/Excel (xls.or.doc) D0CF11E0 MS Access (mdb) 5374616E64617264204A ZIP Archive (zip) 504B0304 RAR Archive (rar) 52617221 Wave (wav) 57415645 AVI (avi) 41564920 Real Media (rm) 2E524D46 MPEG (mpg) 000001BA MPEG (mpg) 000001B3 Quicktime (mov) 6D6F6F76 Adobe Acrobat (pdf) 255044462D312E Windows Media (asf) 3026B2758E66CF11 MIDI (mid) 4D546864

  • WAF绕过

TODO


· 00截断绕过

由于在C语言中00代表字符串的结束,在一个正常的文件名末尾加上00,在组合拼接字符串的时候,就会导致截断。

有一种业务,提供上传的文件改名功能,在上传的文件符合要求存到服务器上之后,要求以post或者get方法再传输一个文件名上去,通过检测文件的文件后缀名再在后台将原本文件的后缀名和后来的文件名拼接起来形成一个新的文件名+后缀名。由于后缀名不是用户能控制的,导致上传的恶意代码无法解析

前半部分的文件上传的时候,为了符合服务端要求,不得不把php等代码文件改后缀名以便上传。但是改名功能提供了解析恶意代码的可能。


以上代码简单构建了一个改名功能。当php版本小于5.3.4magic_quotes_gpc为off时,存在00截断攻击。

当以post方法提交数据时,拦截http请求,添加一个0x00字段(可以先输入空格即0x20,再将其改为0x00)
当以get方法提交时,将0x00 url编码为%00,发送。


  • 文件内容绕过(条件竞争)

一些网站文件检测逻辑是先允许上传任意文件,然后检查文件内容 是否包含可执行脚本,如果包含则删除。这里使用sleep()函数来模拟判 断是否含有脚本所需要的时间。

绕过方法:利用检测到删除的时间差,立刻访问上传的文件,通过这个文件输出另一个php文件


访问以上php文件就会输出一个php文件,内容就是一个webshell

防止未经允许的文件上传:

  1. 不使用前端检测,只应用后端检测文件的类型
  2. 采用白名单策略和文件类型检测
  3. 及时更新web容器,防止解析漏洞绕过

如果被绕过,文件已经上传:

  1. 文件查看采用数据库获取文件名,从而在相应文件服务器读取文件
  2. 文件上传限制文件大小,个人上传数量等
  3. 更改用户上传文件的名称,更改默认的文件存储路径,以防止用户通过url直接访问到上传的文件
  4. 更改web容器覆盖的目录,禁止解析用户文件夹里的文件,防止上传的文件被执行
最新文章
反派团宠小蜥蜴漫画一口气看完
们轻易便会陷入危险境地。入口隐秘地潜藏于一片荒草丛生之处,拨开那茂密而杂乱的植被,一个仅能容纳数人的圆形金属舱门才显露出来。黑衣人走上前去,在舱门一侧的电子识别装置上熟练地操作了一番,随着一阵低沉的机械运转声,舱门缓缓向一
重大通报“新全游真的有挂吗”其实有开挂详细
您好:“新全游这款游戏可以开挂,确实是有挂的,需要了解加客服微信【88662864】很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人的牌一样。所以很多小伙伴就怀疑这款游戏是不是有挂,实际上这款游戏
单日290.33亿元借助股票型ETF入市 创下近两个月新高!
  12月10日,290.33亿元借助股票型ETF入市,单日流入资金创下近两个月新高。从具体资金流向看,宽基ETF强势吸金。如果拉长期限看,自9月24日以来,已有2930.93亿元涌入股票型ETF。  单日涌入近290.33亿元  12月10日,大量资金涌入股
英雄联盟脚本,游戏公平的破坏者还是创新的辅助工具?
在当今的电子竞技领域,《英雄联盟》以其高度竞技性和策略性而备受玩家喜爱,随着游戏的发展,一些不和谐的现象也逐渐浮出水面,其中之一就是所谓的“英雄联盟脚本”,英雄联盟脚本究竟是什么样子的呢?它对游戏市场和玩家体验又有着怎样的
学透这10个Python爬虫框架,轻松爬取一切数据
前言 在分享今天的内容之前,可能有同学会问了:什么是Python爬虫框架? 就像超市里有卖半成品的菜一样,Python爬虫工具也有半成品,就是Python爬虫框架。就是把一些常见的爬虫功能的代码先写好,然后
傅科杰百家号设计_今日到头来要依靠谁百家号设计教程
摘要:傅科杰百家号设计,今日到头来要依靠谁百家号设计教程,新片场素材小编王灵傅科杰百家号设计,今日到头来要依靠谁百家号设计教程相关内容整理,如果您对傅科杰百家号设计,今日到头来要依靠谁百家号设计教程感兴趣欢迎访问免费阅读。傅
像素图形游戏哪个好玩 十大必玩像素图形游戏盘点
探寻像素艺术的魅力,寻找经典中的乐趣!像素图形游戏哪个好玩?权威盘点揭示十大必玩之作。重温怀旧或是挖掘新潮,无论你是像素风爱好者还是游戏探索者,这篇文章将带你进入一个独特的游戏世界,满足你对复古与创新的双重期待。《Station
怎么上微博热搜榜(怎样上微博热搜榜)
博热搜榜上榜策略与运营技巧  在社交媒体时代,微博作为中国最大的社交媒体平台之一,其热搜榜功能备受关注。许多商家和个人都渴望自己的内容能够登上微博热搜榜,从而获得巨大的流量和关注度。本文将分享微博热搜榜上榜策略与运营技巧,
抖音SEO排名优化从入门到精通的实战指南
抖音SEO排名优化从入门到精通的实战指南抖音作为短视频领域的佼佼者,其SEO排名优化对于提升视频曝光度和品牌影响力至关重要。今天将从入门到精通,为您提供一份抖音SEO排名优化的实战指南。一、入门篇:了解抖音SEO排名的基础关键词研究:
湖南医药职业中等专业学校分数是多少-招生处
在这个不唯**凭能力的年代,为了提高自己的生活水平,选择读职校、学一技之长的人大有人在。对于没有**和经历的初中生来说,读什么技校好就业,很多家长在为孩子选择技校的时候,都会参考时下热门的专业和市场的走向。初三生怎样才能在竞争
相关文章
推荐文章
发表评论
0评