1. 문제

NX, pie 가 걸려있다.

welcome() 함수를 실행하고, puts 를 통해 멘트를 출력한다.

welcome() 함수의 실제 주소를 leak 하고, scanf 를 통해 입력을 받는다.
입력을 받을 때 입력값을 검증하지 않아 bof 가 발생한다.

flag 를 보여주는 함수로, 이 함수를 실행시키는 것이 최종 목표일 것이다.
예상되는 시나리오는 다음과 같다.
1. bof 를 통해 ret 를 j0n9hyun() 주소로 바꿔주면 된다.
2. 이때, pie 가 걸려있기에 pie_base 주소를 구해야 할 것이다.
3. welcome 주소를 통해 pie_base 주소를 얻으면 될 것이다.
2. 문제 해결 과정

v1 : ebp-0x12
0x12 = 18
offset = 18 + 4

따라서 payload 는 다음과 같을 것이다.
"A"*22 + (pie_base+0x890)
3. 익스플로잇


'Wargame > HackCTF' 카테고리의 다른 글
| [HackCTF] Yes or no (1) | 2021.04.16 |
|---|---|
| [HackCTF] poet (0) | 2021.04.16 |
| [HackCTF] Offset (0) | 2021.04.15 |
| [HackCTF] RTL_Core (0) | 2021.03.31 |
| [HackCTF] RTL_World (0) | 2021.03.20 |