๐ฐELF x86 - Format string bug basic 1
Note : A JOURNEY TO GAIN KNOWLEDGE
Last updated
Note : A JOURNEY TO GAIN KNOWLEDGE
Last updated
chall:
Work flow:
ฤแบงu tiรชn ta xรกc ฤแปnh ฤฦฐแปฃc buffer size 32
Flag ฤฦฐแปฃc ฤแปc tแปซ file .passwd ฤฦฐแปฃc chuyแปn thร nh string vร ghi vร o stack
Hร m trigger ฤรกng ngแป แป ฤรขy chรญnh lร printf vแปi argv[1]
Thแบญt vแบญy, khi ฤแปc tร i liแปu vแป hร m printf ta thแบฅy ฤiแปu thรบ vแป sau:
Nhฦฐ vแบญy tham sแป ฤแบงu tiรชn luรดn lร kiแปu dแปฏ liแปu nhฦฐ %d, %s tฦฐฦกng แปฉng vแปi giรก trแป theo sau ฤรณ
Nhฦฐng แป ฤรขy lแบกi truyแปn vร o hร m printf vแปi cรกc giรก trแป khรดng kiแปm duyแปt, dแบซn ฤแบฟn hiแปn trแบกng nแบฟu ta nhแบญp cรกc kiแปu dแปฏ liแปu hex %x sแบฝ khiแบฟn hร m trแบฃ vแป cรกc giรก trแป trong stack (bao gแปm ฤแปa chแป cรกc function vร flag)
ฤแป dแป quan sรกt hฦกn ta dรนng %0x.
0 lร padding khi khรดng ฤแปง sแป lฦฐแปฃng
8 lร sแป lฦฐแปฃng giรก trแป hiแปn thแป
x lร hiแปn thแป giรก trแป hex
Kรญ tแปฑ . ฤแป phรขn cรกch mแปi 8 kรญ tแปฑ cho dแป quan sรกt
Nhฦฐ vแบญy รฝ tฦฐแปng แป ฤรขy, ta chแป viแปc leak hแบฟt cรกc dแปฏ liแปu cรณ thแป ฤแปc trong stack vร tรฌm cแปฅm cรณ nghฤฉa
Tuy nhiรชn do ฤang แป dแบกng little-endian, ta cรณ thแป viแบฟt ฤoแบกn script cฦก bแบฃn sau ฤแป chuyแปn lแบกi big-endian
flag: Dpa9d6)(Epamd