web中间件作为web安全的重要一块,经常会有人问balabala,虽然有很多已经人尽皆知并且基本不再构成威胁了,但是还是有必要说一下,了解历史,了解我们从哪里来

鉴于内容实在是太多,本来打算一起写完,篇幅太长不方便阅读,有点恶心,就改分篇写了

IIS是十分常见的中间件,只适用于微软windows操作系统

找了个freebuf上的图

(1)

1.解析漏洞

IIS6.0

(1)以*.asp为命名的文件夹下的任何文章会被解析为.asp格式

(2)*.asp;.jpg这种格式的文件,后缀会被;所截断,分号后的被忽略,文件被当做asp执行

在IIS6.0下,*.asa  *.cer  *.cdx也会被解析,和*.asp一样,比如你传lcx.asp与传lcx.cer一样的

这里有个问题说一下,如果上传的文件被重命名了,也就是说文件名不可控,比如以上传时间为名字,用不了文件名截断即(2)点,可以往文件夹名称解析即(1)点方向靠

所以防御的方向就是:

(1)在服务器上限制上传目录的执行权限不让他执行脚本

(2)也不允许新建目录防止出现上文说的文件夹名称解析漏洞

(3)将上传的文件重命名,什么随机数,时间戳都用上

IIS7.0/7.5

与PHP配合,访问phpinfo.php,看一眼server API写的啥

如果如图中所示,FastCGI开着,则会出现在任意文件名后加上/.php,此文件会被当做PHP文件解析

例如 lcx.txt/.php    =>   lcx.php

防御办法除了与IIS6.0相同的思路,还要把php.ini中这一项

去除注释,值改成0

2.PUT任意文件写入

漏洞产生的原因是在web服务扩展中开启了WebDAV,配置了可以写入的权限

看到WebDAV允许,写入打钩

推荐工具:桂林老兵iiswrite,用各种请求方式,什么PUT / MOVE 之类的往服务器中传后门文件,改文件名,菜刀连一波(具体不介绍了,网上相关教程很多,很老的东西了)

建议把这两个东西关了

3.IIS短文件漏洞

漏洞产生的原因是为了兼容MS-DOS程序,windows为文件名较长的文件生成了对应的windows 8.3的短文件名,攻击者可通过短文件名猜解对应的文件,访问下载敏感资源,绕过某些限制

dir /x一下可以看到短文件名长什么样

倒数第二列就是短文件名

短文件名是有一定规则的:

1.只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同);

2.后缀名最长只有3位,多余的被截断,超过3位的长文件会生成短文件名;

3.所有小写字母均转换成大写字母;

4.长文件名中含有多个“.”,以文件名最后一个“.”作为短文件名后缀;

5.长文件名前缀/文件夹名字符长度符合0-9和Aa-Zz范围且需要大于等于9位才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件;

IIS8.0以下版本需要开启asp.net支持,IIS8.0及以上可不需要asp.net,转用OPTIONS与TRACE方法猜解

怎么猜解的,以低版本IIS为例

(2)

这个图很好的说明了猜解过程,一图胜千言

用类似正则的*代表未猜解的部分,根据返回特征码的不同进行判断猜解是否成功

但是这个短文件漏洞,限制实在太多,比如文件名太短就没有短文件,文件名太长后续内容你也猜不出来(最多就能确定前6个字符,而且带空格或者.啥的都会对猜解造成误判)个人认为比较鸡肋

修复的话,在命令行窗口下或者注册表中,关闭NTFS8.3文件格式支持

4.CVE-2015-1635(MS15034)

IIS6.0以上的Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2都可能中招

这是HTTP.SYS(一个系统核心组件)的一个远程代码漏洞,攻击者发送恶意请求的数据包,执行代码可读取IIS服务器中内存数据,甚至蓝屏

参考文章

http://www.ijiandao.com/safe/cto/12829.html

介绍得很全面

5.CVE-2017-7269

只影响Windows 2003 R2开启WebDAV服务的IIS6.0服务器(条件苛刻),一个远程代码执行漏洞

MSF中exp下载

https://github.com/zcgonvh/cve-2017-7269

可导入msf中使用

详细分析:https://paper.seebug.org/259/作者:k0shl

注:文中图(1)(2)出自

https://www.freebuf.com/articles/web/172561.html

随便转载,请标明作者出处

常见web中间件漏洞(一)IIS漏洞的更多相关文章

  1. 常见web中间件漏洞(四)Tomcat漏洞

    这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...

  2. 常见web中间件漏洞(五)weblogic漏洞

    继续整理有关中间件漏洞思路(仅做简单思路整理,不是复现,复现请参考大佬们的长篇好文,会在文章中列举部分操作) WebLogic是Oracle公司出品的一个application server,确切的说 ...

  3. 常见web中间件漏洞(三)Nginx漏洞

    nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,有  开源,内存占用少,并发能力强,自由模块化,支持epoll模型,可限制连接数,支持热部署,简单 ...

  4. 常见web中间件漏洞(二)Apache漏洞

    Apache(总联想到武直那个)是最常见,使用人数最多的一款web服务器软件.跨平台,多扩展,开源,用过的人都说好 Apache的漏洞主要集中在解析漏洞这一块 1.未知扩展名解析漏洞 Apache的一 ...

  5. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  6. Web中间件常见漏洞总结

    一.IIS中间组件: 1.PUT漏洞 2.短文件名猜解 3.远程代码执行 4.解析漏洞 二.Apache中间组件: 1.解析漏洞 2.目录遍历 三.Nginx中间组件: 1.文件解析 2.目录遍历 3 ...

  7. 常见 WEB 安全漏洞(转)

    SQL注入 成因:程序未对用户的输入的内容进行过滤,从而直接代入数据库查询,所以导致了sql 注入 漏洞 . 思路:在URL处可以通过 单引号 和 and 1=1 and 1=2 等语句进行手工测试s ...

  8. 中间件漏洞之IIS

    IIS中间件漏洞 我们常见的中间件有IIS.Apache.Nginx,其中IIS中间件有什么漏洞呢? IIS 短文件名漏洞: 漏洞产生的原因是为了兼容MS-DOS程序,windows为文件名较长的文件 ...

  9. 常见WEB开发安全漏洞 原因分析及解决

    目 录 1 会话标识未更新 3 1.1 原因 3 1.2 解决 3 2 SQL注入 3 2.1 原因 3 2.2 解决 5 3 XSS跨站脚本编制 5 3.1 原因 5 3.2 解决 5 4 XSRF ...

随机推荐

  1. 其他:Git生成SSH、Git生成本地库、下载远程库代码 命令

    1.安装Git Bash https://git-scm.com/downloads 2.鼠标右键git bash here 3.执行以下命令: ①   cd ~/.ssh/    [如果没有对应的文 ...

  2. Linux基本操作 [转]

    前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位.总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要是总结Linux的基础操作以及一些简单的概念~如 ...

  3. python numpy高效体现

    import numpy as np import time def python_sum(n): a=[i**2 for i in range(n)] b=[i**3 for i in range( ...

  4. 如何让Spring Boot 的配置动起来?

    前言 对于微服务而言配置本地化是个很大的鸡肋,不可能每次需要改个配置都要重新把服务重新启动一遍,因此最终的解决方案都是将配置外部化,托管在一个平台上达到不用重启服务即可一次修改多处生效的目的. 但是对 ...

  5. 【LeetCode】523. 连续的子数组和

    523. 连续的子数组和 知识点:数组:前缀和: 题目描述 给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 ...

  6. Requests方法 -- 参数化

    import requests#禁用安全请求警告from requests.packages.urllib3.exceptions import InsecureRequestWarningreque ...

  7. 微信小程序云开发-云存储-下载并打开文件文件(word/excel/ppt/pdf)

    一.wxml文件 1.写文本框,用来获取文件链接. 2.按钮,点击下载文件 <!-- 下载文件(word/excel/ppt/pdf等) --> <view class=" ...

  8. Java 将Word转为Tiff

    本文以Java代码示例展示如何将Word文档转换为Tiff格式.代码方法比较简单,加载Word文档,并通过saveToTiff(tiffFilename)方法直接保存为tiff格式即可. 1.Java ...

  9. 简单快速安装Apache+PHP+MySql服务环境(一)

    由于自己只是普通的coder,对于服务器的操作不是很熟悉,在网上找了很多关于PHP和apache服务器环境搭建的帖子,不过都不尽相同,尤其是编译安装更是看的云里雾里的,所以选择了一种比较简单的方式进行 ...

  10. 在 Golang 中实现一个简单的Http中间件

    本文主要针对Golang的内置库 net/http 做了简单的扩展,通过添加中间件的形式实现了管道(Pipeline)模式,这样的好处是各模块之间是低耦合的,符合单一职责原则,可以很灵活的通过中间件的 ...