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 |