Hacking/Pwnable
[P4C] pwnable problem writeup2
h4won
2021. 4. 29. 19:11
팀원분들이 직접 제작하신 포너블 문제를 풀어보는 시간이다.
(이번엔 종학님이 제작하신 문제들에 대한 롸업이다.)
1번 문제)
문제
buf, key의 주소를 출력하고 입력을 받는다.
gets() 함수 입력 시 bof 가 발생한다.
key 값을 변경해서 쉘을 획득하면 될 것 같다.
문제 해결 과정
buf의 위치 : ebp - 0x36
key의 위치 : ebp - 0x4
offset -> 50byte
payload는 다음과 같을 것이다.
"A"*50 + 0x44454144
익스플로잇
2번 문제)
문제
buf 의 주소를 출력해주고, 입력을 받는다.
buf 의 주소를 출력해주고 입력을 받는다.
이때 gets() 로 입력 받을 시 bof 가 발생한다.
-> 쉘코드를 넣고, ret 까지 더미로 채운 다음 ret 에 buf 의 시작주소를 넣어주면 될 듯하다.
buf 의 위치 : ebp - 100
offset : 104
따라서 payload는 다음과 같을 것이다.
25byte shellcode + "A"*79 + buf 의 시작주소
익스플로잇