Print Stack Canary

Reading time: 3 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Vergroot gedrukte stapel

Stel jou 'n situasie voor waar 'n program wat kwesbaar is vir stapel oorgang 'n puts funksie kan uitvoer wat wys na deel van die stapel oorgang. Die aanvaller weet dat die eerste byte van die canary 'n null byte is (\x00) en die res van die canary is ewekansige bytes. Dan kan die aanvaller 'n oorgang skep wat die stapel oorskryf tot net die eerste byte van die canary.

Dan roep die aanvaller die puts funksionaliteit in die middel van die payload wat alle canary sal druk (behalwe vir die eerste null byte).

Met hierdie inligting kan die aanvaller 'n nuwe aanval saamstel en stuur terwyl hy die canary ken (in dieselfde program sessie).

Dit is duidelik dat hierdie taktiek baie beperk is aangesien die aanvaller in staat moet wees om die inhoud van sy payload te druk om die canary te exfiltreer en dan in staat te wees om 'n nuwe payload te skep (in die dieselfde program sessie) en die werklike buffer oorgang te stuur.

CTF voorbeelde:

Arbitraire Lees

Met 'n arbitraire lees soos die een wat deur formaat strings verskaf word, mag dit moontlik wees om die canary te lek. Kyk na hierdie voorbeeld: https://ir0nstone.gitbook.io/notes/types/stack/canaries en jy kan lees oor die misbruik van formaat strings om arbitraire geheue adresse te lees in:

Format Strings

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks