buffer overflow

HackForum

buffer overflow#
Jak funguje buffer overflow, který spustí nový proces? Jde využít i jinde než na Windows?
(odpovědět)
Wan-To4.3.2006 22:22
re: buffer overflow#
Dobry dotaz, takze buffer owerflow (preteceni zasobniku) funguje na vsech platformach stejne, programator si urci velikost pole (napr. 100 znaku) ale pokud moc programovat neumi, tak nekontroluje, zda uzivatel opravdu zadal maximalne tech 100 znaku.

Tzn. pokud nekdo zada vice znaku, nez je velikost pole, tak temi dalsimy znaky prepise urcite misto v pameti.

V praxi to funguje tak, ze v debuggeru si zjistis, ktere misto v pameti se prepise pri "dlouhem vstupu" a podle toho si na to misto napises intrukce, ktere se maji provest.

tzn. napises do vstupu vice znaku nez je povoleno a ty znaky, ktere presahuji velikost pole jsou instrukce assembleru, ktere se vykonaji, samozrejme nektere programy zadaji vstup z internetu a proto je tu vysoka zneuzitelnost.

Staci tedy jen pres internet zaslat urcite aplikaci urcity vstup + nove instrukce, ktere se vykonaji a je to !

To je cele, neni treba to dale rozepisovat.
(odpovědět)
--==[FReeZ]==-- | E-mail | Website4.3.2006 23:36
re: buffer overflow#
Jenom vložit na zásobník instrukce nestačí. Musí se udělat ještě taková maličkost - upravit návratovou adresu funkce (to aby se vložený kód vůbec spustil).

Navíc ne na všech platformách to může fungovat - tam kde není spustitelný zásobník to jaksi fungovat nebude (ale může to odstřelit aplikace).
Další možností může být zkusit přepsat data ne na zásobníku ale na haldě a tam pak přes upravenou návratovou adresu skočit do těch dat (což ale asi stejně nepomůže, protože když není spustitelný zásobník, tak nebude spustitelná nejspíše ani halda a když už jsme u toho tak datová oblast kódu asi nebude zapisovatelná :)

Jinak co se týče tohoto tématu, tak bych nejspíš doporučil podívat se tady po článcích, nebo se klidně rovnou zeptat na www.google.com
(odpovědět)
segur | E-mail4.3.2006 23:57
re: buffer overflow#
...nebo si koupit vynikajici knihu HACKING - Umeni exploitace, nic lepsiho neznam =)
(odpovědět)
Emkei | E-mail | Website | PGP5.3.2006 11:55
re: buffer overflow#
Tuhle knížku jsem viděl, až dočtu to C++ a JSP, tak si jí asi koupim :)
(odpovědět)
Wan-To5.3.2006 15:27
re: buffer overflow#
segur: hmm, navratovou adresu funkce jsem zatim nikdy nemenil, ani ty instrukce tam nepsal, to, co jsem zkousel bylo shodit program, ktery mel za ukol zabezpecit PC.

Bylo tam psano, ze bez hesla se nedostanu do Windows, ja jsem tam napsal strasne moc pismen a program hodil RunTime Error 216 (General Protection Failure) no a vysledek byl takovy, ze jsem byl ve Windows at uz heslo bylo jakekoliv.

Tzn. slo mi vzdy jen o to, abych poskodil kopii programu v pameti natolik, aby program spadl :-) Ale pokud se zabyvas temito bugy, mohl bys napsat nejaky clanek (vim ze uz je takovychto clanku plno, ale tady na soomu to zveda navstevnost).
(odpovědět)
--==[FReeZ]==-- | E-mail | Website5.3.2006 12:33

Zpět
 
 
 

 
BBCode