Team RuCTF is the annual open CTF challenge in information security among teams from russian universities. RuCTF started out in 2008 and was the first challange of such kind in Russia. Now it consists of two phases: quals and finals. Quals are remote, finals are local (USU, Ekaterinburg). My roles: task/service developer.
RuCTFE is RuCTF Extended to the edge of the world. Teams from universities …
Feb 2, 2013
·
tswr
Структура Интернета traceroute.org whatismyip.com, myip.ru BGPlay Whois IANA / numbers PuTTY whois.pl ip2cc.pl SNTP ntime.pl pool.ntp.org Automachron
Feb 2, 2013
·
tswr
my $paddr = inet_aton($addr); croak "Cannot resolve '$addr'" if (!defined $paddr); socket SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp') or croak 'Cannot create socket'; connect SOCK, sockaddr_in($port, $paddr) or croak "Cannot connect to server '$server'"; send SOCK, "$query\r\n", 0; vec($rin, fileno(SOCK), 1) = 1; do { ($nfound) = select($rout = $rin, '', '', $timeout); croak 'Select() error' …
Feb 2, 2013
·
tswr
sub sendRaw($$$) { use constant IPPROTO_RAW => 255; my ($destination, $dport, $packet) = @_; eval { socket(SOCKET, PF_INET, SOCK_RAW, IPPROTO_RAW); my $paddr = sockaddr_in($dport, inet_aton($destination)); send(SOCKET, $packet, 0, $paddr); }; if ($@) { print "Error occured: $@"; } } sub assembleRawUdp($$$$$) { my ($destination, $dport, $source, $sport, $data) = @_; ############# # IP HEADER # …
Feb 2, 2013
·
tswr
#!/usr/bin/perl use Tk; sub Exit { exit(0); } sub showHelp { $tl = $root->Toplevel; $tl->title("Help"); $tl->Label(-text => '(c) tswr')->pack(); } $root = new MainWindow(); $root->title("hello Tk!"); $root->geometry("400x300"); $menu = $root->Menu; $root->configure(-menu => $menu); $filemenu = $menu->cascade(-label => '~File'); $filemenu->command(-label => 'E~xit', -command => \&Exit); $helpmenu = …
Feb 2, 2013
·
tswr
Source <html> <head> <title>Snippet for "Hamming code"</title> <style> body { padding: 5px; background-color: lightgoldenrodyellow } </style> <script type="text/javascript"> function copy() { var input = document.getElementById('input'); var output = document.getElementById('output'); output.value = input.value; } </script> </head> <body> <h4>Snippet for "Hamming code"</h4> <input type='text' …
Feb 2, 2013
·
tswr
alarm use Socket; eval { local $SIG{ALRM} = sub { die "time is out" }; alarm 3; socket SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp'); connect SOCK, sockaddr_in(81, inet_aton("microsoft.com")) or die "connect failed"; alarm 0; send SOCK, "GET / HTTP/1.0\n\n", 0; print while <SOCK>; shutdown SOCK, 2; }; print "$@\n" if $@; die $warnings = 0; $SIG{__WARN__} = sub { print @_ if $warnings }; …
Feb 2, 2013
·
tswr