- Exploitovací techniky paměť -

Název

Obrázek

Popis

Odkaz

Deklarace paměti

Výsledek obrázku pro exploit

Při programování v nějakém vysokoúrovňovém jazyce, jako je třeba C, se proměnné deklarují datovým typem. Tyto datové typy mohou být např. celá čísla ( integer) nebo znaky ( character) nebo jiné, třeba i uživatelem definované struktury. Pro tyto proměnné je nezbytné alokovat dostatečný prostor, což pro celé číslo může být 4 bajty a pro znak třeba jeden jediný bajt. To znamená, že celé číslo má 32 bitů místa (4 294 967 296 možných hodnot), zatímco znak má pouhých 8 bitů místa (256 možných hodnot).

Zde

Ukončení nulovým bajtemVýsledek obrázku pro exploitObčas se stane, že je pro pole znaků alokováno deset bajtů, ale doopravdy se využijí jen čtyři. Jestliže je slovo „test“ uloženo v desetiznakovém poli, 28 0x200 Programování zbudou na jeho konci nevyužité znaky. V tom případě se použije nula ( bitová nula, nebo také znak null) pro ukončení řetězce. Ta říká všem funkcím pro práci s řetězci, že mají svoji činnost ukončit právě na tom místě.

Zde

Segmentace programu pamětiVýsledek obrázku pro exploitPaměť programu je rozdělena na pět segmentů: text, data, bss (block started,by symbol, segment neinicializovaných dat), heap ( halda) a stack ( zásobník).,Každý segment reprezentuje speciální část paměti, která je vymezena,pro určité účely.,Segment text se někdy značí i jako code. To je místo, kde se nacházejí,instrukce strojového jazyka.

Zde