심플 오버플로우 문제다. IDA로 코드를 확인해보자.
buf의 메모리 주소를 출력하고 buf에 입력을 받는다. gets에서 BOF가 생긴다.
우분투에서 실행해보자.
buf 에 입력받을 때 쉘코드를 넣고 ret위치에 buf 주소를 넣고 실행하면 될 것 같다.
buf에서 ret까지의 거리를 구해보자.
0xffffd08c - 0xffffd000 = 8c (140)
shellcode + dummy + buf_addr 이런식으로 BOF하면 될 것 같다.
익스를 짜보자.
성공했다.
플래그는 HackCTF{y0u_d1d_7h3_45516nm3n7_5ucc355fully!} 이다.
'HackCTF > WriteUp' 카테고리의 다른 글
HackCTF - BOF_PIE [150] (0) | 2021.01.19 |
---|---|
HackCTF - Offset [150] (0) | 2021.01.19 |
HackCTF - x64 Simple_size_BOF [150] (0) | 2021.01.17 |
HackCTF - x64 Buffer Overflow [150] (0) | 2021.01.13 |
HackCTF - 내 버퍼가 흘러넘친다!!! [150] (0) | 2020.12.22 |