Print Stack Canary

Reading time: 3 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Enlarge printed stack

Fikiria hali ambapo programu iliyo hatarini kwa stack overflow inaweza kutekeleza puts function ikiashiria sehemu ya stack overflow. Mshambuliaji anajua kwamba byte ya kwanza ya canary ni byte ya null (\x00) na sehemu nyingine za canary ni bytes za kijakazuri. Kisha, mshambuliaji anaweza kuunda overflow ambayo inaandika tena stack hadi byte ya kwanza ya canary.

Kisha, mshambuliaji anaita functionality ya puts katikati ya payload ambayo it achapisha canary yote (isipokuwa byte ya kwanza ya null).

Kwa habari hii mshambuliaji anaweza kuunda na kutuma shambulio jipya akijua canary (katika sehemu hiyo hiyo ya programu).

Kwa wazi, mbinu hii ni kikomo kwani mshambuliaji anahitaji kuwa na uwezo wa kuchapisha maudhui ya payload yake ili kuondoa canary na kisha aweze kuunda payload mpya (katika sehemu hiyo hiyo ya programu) na kutuma overflow halisi ya buffer.

CTF examples:

Arbitrary Read

Kwa kusoma bila mpangilio kama ile inayotolewa na format strings inaweza kuwa inawezekana kuvuja canary. Angalia mfano huu: https://ir0nstone.gitbook.io/notes/types/stack/canaries na unaweza kusoma kuhusu kutumia format strings kusoma anwani za kumbukumbu bila mpangilio katika:

{{#ref}} ../../format-strings/ {{#endref}}

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks