zoukankan      html  css  js  c++  java
  • 常见web中间件漏洞(一)IIS漏洞

    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

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

  • 相关阅读:
    Java实现 LeetCode 30 串联所有单词的子串
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 29 两数相除
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 28 实现strStr()
    Java实现 LeetCode 27 移除元素
    Java实现 LeetCode 27 移除元素
    字符编码终极笔记:ASCII、Unicode、UTF-8、UTF-16、UCS、BOM、Endian
  • 原文地址:https://www.cnblogs.com/lcxblogs/p/13539558.html
Copyright © 2011-2022 走看看