🥋Form - ImaginaryCTF 2023

Source

file-download
16KB

Analysis

Nhìn qua thì flag của bài này được lưu ở biến s thuộc vùng nhớ heap. Và chuỗi format không được lớn hơn 0x17(23) kí tự.

Ý tưởng

Tôi sẽ ghi đè địa chỉ trên stack thành địa chỉ heap chứa flag đó :>>. Vì chúng ở khá gần nhau.

0xd0 ---> 0xa0

Same that:

Và sau đó ghi đè địa chỉ leak ra chuỗi string đó bằng %6$s là xong.

Exploit:

padding "%c" * 5 + "%155c" + "%hhn" ==> Offset 7 and use %6$s ==> Done

Last updated