buffer overflow - prunik

uhlar na fantomas.sk uhlar na fantomas.sk
Středa Srpen 2 15:01:13 CEST 2000


Daniel Smolik <Smolik na corpus.cz> wrote:
-> Dneska u snidane me napadla takova myslenka. Jak presne funguje buffer
-> overflow ? Podle toho co jsem cetl tak preteceni zasobniku umozni spustit
-> nejaky kod. A ten program, ktery utocnik pousti musi by na cilovem stroji
-> nebo ne ? A pokud ano , tak asi zkusi /bin/sh. A co bude kdyz tam zadny
-> /bin/sh nebude a nas shell  se bude jmenovat treba barbucha co potom ? Ma
-> /presto vyhrano

zhruba takto:

char input[256];

gets(input);

podstrcite 20KiB vstupny riadok (bez noveho riadku) a bude zapisane daleko za
hranicu retazca input. niekde tam,, blizsie alebo dalej moze byt zasobnik s
navratovou adresou funkcie gets ktora bude tym riadkom prepisana. Vhodnym
vlozenym riadkom sposobite ze sa funicia "vrati" niekde do vlozeneho kodu
a potom uz progrma spusta to, co ste mu zadali, 20 KiB podstrceneho kodu...
ak bezite ako root asi najrychlejsie bude spustit exec /bin/sh -i a ked ten
kod podstrcite cez siet, rovno vam to hodi prompt...

-- 
 Matus "fantomas" Uhlar, sysadmin at NEXTRA, Slovakia; IRCNET admin of *.sk
 uhlar na fantomas.sk ; http://www.fantomas.sk/ ; http://www.nextra.sk/
 (R)etry, (A)bort, (C)ancer


Další informace o konferenci Linux