Microsoft IIS是Microsoft Windows自带的一个网络信息服务器,其中包含HTTP服务功能。 IIS实现上存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞在服务器上执行任意指令。 IIS的ASP.DLL的include函数检查参数是否大于260个字节。如果大于的话就会报错,但在报错之前执行了错误的计算。 mov edi, [ebp+var_228] ; load length of parameter cmp edi, 104h ; check if larger than 260 bytes jbe short loc_ mov esi, [ebp+var_22C] ; load address of parameter lea eax, [edi+esi-104h] ; load eax with the address of the last ; 260 bytes of the parameter ; (length of string+source of string)- 104h lea edx, [ebp+var_211] ; load edx with address on stack sub edx, eax ; mov cl, [eax] ; \ mov [edx+eax], cl ; do the copy inc eax ; and overflow the stack test cl, cl ; / jnz short loc_7096D1F3 ; 攻击者可以通过创建特制的Active Server Pages(ASP)文件来利用这个漏洞,如果IIS处理了该文件的话就会导致执行任意指令。利用这个漏洞必须有效的登录凭据,成功利用这个漏洞的攻击者可以当前用户权限执行指令。
Microsoft IIS是Microsoft Windows自带的一个网络信息服务器,其中包含HTTP服务功能。 IIS实现上存在缓冲区溢出漏洞,远程攻击者可能利用此漏洞在服务器上执行任意指令。 IIS的ASP.DLL的include函数检查参数是否大于260个字节。如果大于的话就会报错,但在报错之前执行了错误的计算。 mov edi, [ebp+var_228] ; load length of parameter cmp edi, 104h ; check if larger than 260 bytes jbe short loc_ mov esi, [ebp+var_22C] ; load address of parameter lea eax, [edi+esi-104h] ; load eax with the address of the last ; 260 bytes of the parameter ; (length of string+source of string)- 104h lea edx, [ebp+var_211] ; load edx with address on stack sub edx, eax ; mov cl, [eax] ; \ mov [edx+eax], cl ; do the copy inc eax ; and overflow the stack test cl, cl ; / jnz short loc_7096D1F3 ; 攻击者可以通过创建特制的Active Server Pages(ASP)文件来利用这个漏洞,如果IIS处理了该文件的话就会导致执行任意指令。利用这个漏洞必须有效的登录凭据,成功利用这个漏洞的攻击者可以当前用户权限执行指令。