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