(writeup) TEXSAW 2023
Gumbs Snotbottom (300 point)




- NX tắt, hướng đi: ret2shellcode
- ta thấy đề sẽ input 64 byte và chỉ có 24 byte trong payload là sẽ được chuyển hoa –->thường
- offset:

72
- ngay $rbp có luôn stack và trong hàm to_lower có printf() –-> fmtstr
- thấy stack ngay %11
- payload ta gửi 24 byte "A" và kế đó là %11$p, padding 72 byte r thực thi lại main
- nhưng dữ liệu leak ra ở bên kia là %10 nên chỉnh lại xíu

- khi ta thực thi lại hàm main thành công nhưng khi bước vào input() lần 2 để chèn shellcode thì bị lỗi xmm0

- ý tưởng sẽ nhảy lại hàm main()+1 sau <push>

- thành công bước vào lần gửi payload thứ 2, ta sẽ sử dụng tới stack ta leak được để trỏ vào shellcode
- thì payload ta phải tiếp tục chèn 24 byte "A" rồi tới shellcode, padding 72 byte rồi ret vào stack trỏ tới shellcode
vì gửi shellcode luôn thì bị vướng 24 byte bắt buộc phải chuyển từ hoa sang thường, sợ dính phải byte kì dị như '' trong shellcode
- ta có thể tính offset của stack ta leak ra được đến stack trỏ đến shellcode của ta

0x007ffdee6f8180 - 0x007ffdee6f8148
0x38


texsaw{64_b1t_5He11CoD3_84bY}