Page cover

๐ŸฅžHeap(UAF) - Unsubscriptions Are Free - picoCTF2021

file-download
12KB
file-download
3KB

Challenge

Script

Hร m main()

Hร m printMenu()

Hร m processInput()

Option i()

Phแบงn nร y cรณ 1 free

Option p khรดng cรณ gรฌ cแบงn quan tรขm cแบฃ

Option s()

Phแบงn nร y leak cho ta ฤ‘แป‹a chแป‰ cแปงa hร m hahae...

Option L:

Phแบงn nร y cho ta ฤ‘แปc vร o 8 bytes

Option M:

Phแบงn nร y mรฌnh thแบฅy khรดng liรชn quan lแบฏm nรชn khรดng quan tรขm

Solution

Set 3 breakpoint tแบกi ฤ‘รขy

rแป“i debug lแบงn lฦฐแปฃt.

Trฦฐแป›c tiรชn แปŸ main cรณ 1 hร m malloc:

Free nรณ ฤ‘แปƒ ta cรณ thแปƒ tiแบฟn hร nh ghi ฤ‘รจ lรชn chunk cลฉ
Dรนng option l ฤ‘แปƒ allocation lแบกi chunk vแปซa ฤ‘ฦฐแปฃc free
Dรนng vis ngay tแบกi thแปi ฤ‘iแปƒm ฤ‘รณ bแบกn cรณ thแปƒ thแบฅy
next qua malloc bแบกn lแบญp tแปฉc nhแบญn ฤ‘ฦฐแปฃc 1 chunk mแป›i nhฦฐng vแบซn lร  ฤ‘แป‹a chแป‰ cลฉ.

Bรขy giแป bแบกn chแป‰ cแบงn ghi ฤ‘รจ lรชn chunk nร y vร  khi hร m doProcess(user) ฤ‘ฦฐแปฃc gแปi thรฌ nรณ sแบฝ lแบฅy phแบงn giรก trแป‹ vแปซa ฤ‘ฦฐแปฃc ghi vร o nร y. Kแบฟt hแปฃp vแป›i ฤ‘แป‹a chแป‰ hร m hahae... ฤ‘ฦฐแปฃc leak bรชn trรชn ta cรณ thแปƒ tiแบฟn hร nh tแบฅn cรดng bแบฑng kฤฉ thuแบญt Ret2Win

Phแบงn tรดi bรดi xanh lร  phแบงn metadata cแปงa chunk vร  phแบงn bรดi vร ng lร  userdata.
Nhรฌn ฤ‘รขy thรฌ ta cแบงn biแบฟt rแบฑng ghi ฤ‘แป‹a chแป‰ ฤ‘แปƒ lแบฅy flag nแบฑm แปŸ ฤ‘รขu

Payload

Last updated