
팀원분들이 직접 제작하신 포너블 문제를 풀어보는 시간이다.
(이번엔 종학님이 제작하신 문제들에 대한 롸업이다.)
1. 1번 문제)
1.1.1. 문제


buf, key의 주소를 출력하고 입력을 받는다.

gets() 함수 입력 시 bof 가 발생한다.
key 값을 변경해서 쉘을 획득하면 될 것 같다.
1.1.2. 문제 해결 과정

buf의 위치 : ebp - 0x36
key의 위치 : ebp - 0x4
offset -> 50byte
payload는 다음과 같을 것이다.
"A"*50 + 0x44454144
1.1.3. 익스플로잇


2. 2번 문제)
2.1.1. 문제


buf 의 주소를 출력해주고, 입력을 받는다.

buf 의 주소를 출력해주고 입력을 받는다.
이때 gets() 로 입력 받을 시 bof 가 발생한다.
-> 쉘코드를 넣고, ret 까지 더미로 채운 다음 ret 에 buf 의 시작주소를 넣어주면 될 듯하다.
buf 의 위치 : ebp - 100
offset : 104
따라서 payload는 다음과 같을 것이다.
25byte shellcode + "A"*79 + buf 의 시작주소
2.1.2. 익스플로잇


'Hacking > Pwnable' 카테고리의 다른 글
[Pwnable] Heap1 (0) | 2021.05.05 |
---|---|
[P4C] pwnable problem writeup3 (0) | 2021.04.29 |
[P4C] pwnable problem writeup1 (0) | 2021.04.29 |
[P4C] Pwnable problem 3 - writeup (0) | 2021.04.27 |
[P4C] Pwnable problem 3 (0) | 2021.04.27 |