Print Stack Canary
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Stel jou 'n situasie voor waar 'n program wat kwesbaar is vir stapel oorgang 'n puts funksie kan uitvoer wat wys na gedeelte 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 aan 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 'n nuwe payload te kan skep (in die dieselfde program sessie) en die werklike buffer oorgang te stuur.
CTF voorbeelde:
64 bit, ASLR geaktiveer maar geen PIE, die eerste stap is om 'n oorgang te vul tot die byte 0x00 van die canary om dan puts aan te roep en dit te lek. Met die canary word 'n ROP gadget geskep om puts aan te roep om die adres van puts van die GOT te lek en dan 'n ROP gadget om system('/bin/sh')
aan te roep.
32 bit, ARM, geen relro, canary, nx, geen pie. Oorgang met 'n oproep na puts daarop om die canary te lek + ret2lib wat system
aanroep met 'n ROP ketting om r0 (arg /bin/sh
) en pc (adres van system) te pop.
Met 'n arbitraire lees soos die een wat deur formaat strings verskaf word, kan 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:
Hierdie uitdaging misbruik op 'n baie eenvoudige manier 'n formaat string om die canary van die stapel te lees.
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)