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

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

  • 相关阅读:
    Oracle:DBMS_STATS.GATHER_TABLE_STATS的语法
    Oracle Purge和drop的区别
    Oracle Pipelined Table Functions简介
    Firefox与IE浏览器缓存的两个重要区别
    @SuppressWarnings的使用、作用、用法
    正确优雅地解决用户退出——JSP及Struts解决方案
    log4j详解与实战
    maven项目在eclipse中debug时看不到源码?
    maven tomcat eclipse 配置 debug
    Java泛型详解
  • 原文地址:https://www.cnblogs.com/lcxblogs/p/13539558.html
Copyright © 2011-2022 走看看