当前位置: 首页 > news >正文

常见框架漏洞之五:中间件

中间件

中间件(英语:Middleware)是提供系统软件和应⽤软件之间连接的软件,以便于软件各部件之间的沟通。 中间件处在操作系统和更⾼⼀级应⽤程序之间。他充当的功能是:将应⽤程序运⾏环境与操作系统隔离,从⽽实现应⽤程序开发者不必为更多系统问题忧虑,⽽直接关注该应⽤程序在解决问题上的能⼒ 。容器就是中间件的⼀种。

也就是说,关于中间件,我们可以理解为:是⼀类能够为⼀种或多种应⽤程序合作互通、资源共享,同时还能够为该应⽤程序提供相关的服务的软件。(注意:中间件是⼀类软件的总称,不是单独的⼀个软 件)。

我们经常管web中间件叫做web服务器或者web容器。

IIS

IIS6.x篇
PUT漏洞

漏洞描述

IIS Server 在 Web 服务扩展中开启了 WebDAV ,配置了可以写⼊的权限,造成任意⽂件上传。

版本:IIS 6.0

环境

fofa:"IIS-6.0"

本地搭建2003 server

漏洞复现

1)开启 WebDAV 和写权限:

漏洞复现

访问该IP:192.168.139.166

⽤PUT上传⽂档,但不能直接上传⽅法脚本⽂档,可以先上传⼀个其他类型的⽂档,然后移动成脚本⽂档:

使⽤MOVE命令将其更名为脚本⽂档后缀:
MOVE /test.txt HTTP/1.1
Host: 192.168.139.166
Destination: http://192.168.139.166/shell.asp

写⼊成功,菜⼑,蚁剑链接即可。

修复

1.关闭webdav ;

2.关闭写⼊权限 。

IIS6.0解析漏洞
IIS短⽂件漏洞
漏洞描述

Windows 以 8.3 格式⽣成与 MS-DOS 兼容的(短)⽂件名,以允许基于 MS-DOS 或 16位 Windows的程序访问这些⽂件。在cmd下输⼊" dir /x"即可看到短⽂件名的效果。

原理

当后缀⼩于4时,短⽂件名产⽣需要⽂件(夹)名前缀字符⻓度⼤于等于9位。

当后缀⼤于等于4时,⽂件名前缀字符⻓度即使为1,也会产⽣短⽂件名。

⽬前IIS⽀持短⽂件名猜测的HTTP⽅法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、 TRACE六种;

IIS 8.0之后的版本只能通过OPTIONS和TRACE⽅法被猜测成功。

复现

IIS8.0以下版本需要开启ASP.NET⽀持,IIS>=8.0版本,即使没有安装ASP.NET,通过OPTIONS和TRACE⽅法也可以猜解成功。以下通过开启IIS6.0 ASP.NET后进⾏复现。

我们可以看到,是有短⽂件名的:

短⽂件名特征:

1. 只显示前6位的字符,后续字符⽤~1代替。其中数字1是可以递增。如果存在⽂件名类似的⽂件,则前⾯的 6个字符是相同的,后⾯的数字进⾏递增。

2. 后缀名最⻓只有3位,超过3位的会⽣成短⽂件名,且后缀多余的部分会截断。

3. 所有⼩写字⺟均转换成⼤写的字⺟ ;

4. ⻓⽂件名中包含多个” . ”的时候,以⽂件最后⼀个” . ”作为短⽂件名的后缀;

5. ⻓⽂件名前缀/⽂件夹名字符⻓度符合0-9和A-Z、a-z范围且需要⼤于等于9位才会⽣成短⽂件名,如果包含空格或者其他部分特殊字符,不论⻓度均会⽣成短⽂件。

使⽤payload验证⽬标是否存在IIS短⽂件名漏洞,显示的404,说明⽬标存在该短⽂件名:

PS:* 可以匹配n个字符, n可以为0 :

以 abcdefgh111.txt ⽂件为例:

访问:http://192.168.139.166/*~1*/

通过浏览器访问⼀个不存在的短⽂件名,会返回400状态码, 400说明该⽂件不存在

防御

1. 升级.net framework ;

2. 修改注册表键值:

a. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 修改

NtfsDisable8dot3NameCreation为1。

b. 修改完成后,需要重启系统⽣效。

c. 命令⾏关闭 fsutil behavior set disable8dot3 1 。

d. 新建⽂件 aaaaaaaaaaaaaazzzzz.txt 已经没有短⽂件名了。

e. 注:此⽅法只能禁⽌NTFS8.3格式⽂件名创建,已经存在的⽂件的短⽂件名⽆法移除,需

要重新复制才会消 失。如果不重新复制,已经存在的短⽂件名则是不会消失的。

f. 将web⽂件夹的内容拷⻉到另⼀个位置,如c:\www到c:\ww,然后删除原⽂件夹,再重

命名c:\ww到 c:\www。

IIS RCE-CVE-2017-7269
利用工具反弹shell

kali开启nc监听

IIS 7x篇

HTTP.SYS远程代码执⾏(MS15-034) MS-->Microsoft 2015 -034

描述

HTTP.SYS是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器性能,从IIS6.0引 ⼊,IIS服务进程依赖HTTP.SYS

HTTP.SYS远程代码执⾏漏洞实质是HTTP.SYS的整数溢出漏洞,当攻击者向受影响的Windows系统发送 特殊设计的HTTP 请求,HTTP.sys 未正确分析时就会导致此漏洞,成功利⽤此漏洞的攻击者可以在系统 帐户的上下⽂中执⾏任意代码。

主要存在Windows+IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server 2008 R2/Server 2012/Server 2012 R2以及Windows 7/8/8.1操作系统都受到这个漏洞的影响验证这个漏洞。

环境

windows server 2012 IIS8.5

复现

访问⽹站; http://192.168.139.143/

python运行工具

我们再次返回Windows Server 2012,这时候就可以看到虚拟机已经变卡了,甚⾄蓝屏

相关文章:

  • 操作系统必知的面试题
  • 【STM32】初识STM32
  • Spring MVC请求与响应全解析:从参数绑定到异常处理
  • 蓝桥杯历届真题 填充#贪心算法
  • 什么是索引?为什么要使用B树作为索引数据结构?
  • C++11 标准库 `find` 与 `find_if` 详解
  • 基于Spring Boot的三国之家网站的设计与实现(LW+源码+讲解)
  • 学一个前端 UI 框架,要学些什么内容?
  • 使用ThreadLocal可能导致内存泄漏的原因与其底层实现机制
  • 干货!Kubernetes网络模型与访问管理
  • ctfshow REVERSE re2 萌新赛 内部赛 七夕杯 WP
  • 我的世界1.20.1forge模组进阶开发——生物生成2
  • 还在用Excel规划机房变更吗?
  • VSCode 出现一直Reactivating terminals,怎么破
  • ubuntu服务器server版安装,ssh远程连接xmanager管理,改ip网络连接。图文教程
  • “浅浅深究”一下ConcurrentHashMap
  • 12-scala样例类(Case Classes)
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加导出数据功能示例14,TableView15_14多功能组合的导出表格示例
  • 使用 ByteDance 的 UI-TARS Desktop 探索 AI 驱动的 GUI 自动化新前沿
  • 1007 Maximum Subsequence Sum
  • “一码难求”的Manus开放注册但价格不菲,智能体距离“实用”还有多远
  • 持续8年仍难终了的纠纷:败诉方因拒执罪被立案,胜诉方银行账户遭冻结
  • 成都警方通报:8岁男孩落水父母下水施救,父亲遇难
  • 习近平出席中拉论坛第四届部长级会议开幕式并发表主旨讲话
  • AI观察|从万元到百万元,DeepSeek一体机江湖混战
  • 旭辉控股集团主席林中:债务重组是活下来的前提,自营开发业务收缩至少数核心城市