Citat:
Boomerang:
Video sam ...Nista posebno... Cak sta vise ...
A posto si ti clan, ajde malo nam objasni stanje ...
Nisam ja niti rekao da je nesto posebno, al to je nazalost jedina grupa (po mojim saznanjima) iz ex-juge koja ipak nesto radi (koliko smo u mogucnosti) i mislim da se mogu naci neke korisne stvari na sajtu.
BTW: Uskoro cemo otvoriti jedan wargame server (mozda dva). Bit ce to neka slabija masina sa debian 3.0 woody distrom. Zadatak ce biti proci 21 nivo.
Nivoi su:
1-5: exploitanje sh skripta
6-10: exploitanje perl skripta
11-21: exploitanje C programa
Znanje potrebno za prolaz igre...normalno propusti u sh, perl i C
programima....konkretnije:
shell - neke osnovne stvari..
perl - RFP-ovi txtovi objavljeni u phracku na temu perla - poison null byte, pipe teqn1k....pa neke starije forice koje se mogu naci u PERL+CGI security txtovima.
C - klasika...razni stack overflowi, heap overflowi, off-by-one, signali, race condition, neka kriptografija (jednostavno) i sl.
evo za primjer, 2 programa koja sam objavio i na kamikazinom forumu...treba ih exploitati:
level 7:
------------------------------
#!/usr/bin/perl
#
# W4rCr0-21 - LEVEL VII coded by DownBload
#
# TIP: You can open text files, but what else can you open...
#
$ENV{'PATH'} = "/usr/local/bin:/bin:/usr/bin:";
$ENV{'BASH_ENV'} = "";
system ("/usr/bin/clear");
print "#########################\n";
print "# W4rCr0-21 - LEVEL VII #\n";
print "#########################\n";
print "- So, you found that stupid character...what now???\n\n";
print "> Which file do you wanna read today???\n";
$var = <>;
chop $var;
$var =~ s/([;<>\*'&\$!#\(\)\[\]\{\}:"`])/\\$1/g;
open (FD, "$var") || die ("ERROR: No such file!!!\n\n");
print "$var content:\n";
while (<FD>)
{
print;
}
close (FD);
------------------------------
level 17:
------------------------------
/*
W4rCr0-21 - LEVEL XVII coded by DownBload
TIP: Hmmm...very simple.
*/
#include <stdio.h>
#include <stdlib.h>
static char var[256];
static int (*func)();
int printstring (char *str)
{
printf ("> LOL, yeah...%s\n",str);
return 0; // no use :)))
}
main (int argc, char **argv)
{
char in[256];
int x;
long funcaddr;
system ("/usr/bin/clear");
printf ("##########################\n");
printf ("# W4rCr0-21 - LEVEL XVII #\n");
printf ("##########################\n");
printf ("- No more stack for you mister!!!\n\n");
func = printstring;
if (argc == 2)
strncpy (var,argv[1],260);
for (x=0;x<255;x++)
{
if (var[x] == '\xcd') {
printf ("> No simple shellcode for you today!!!\n");
exit(0);
}
}
printf ("> HAHAHAHAHA, gimme five :)))");
fgets (in,256,stdin);
funcaddr = func;
if ((funcaddr & 0xbf000000) == 0xbf000000) {
printf ("> I said no more stack for you mister!!!\n");
exit (0);
}
func(in);
}
------------------------------
Ajmo hackeri, exploitajte ove programe i postajte rjesenja :)))))).
Mozda ovo (defaced) nije pravi forum za to.
Sta je sad??? Nitko nezna rjesiti ove glupe zadacice??
Leon Juranic