WAR GAME/pwnable.xyz

[pwnable.xyz] add 풀이 (64bit, OOB)

jir4vvit 2021. 4. 30. 21:17

문제 풀이 환경 : ubuntu 18.04
사용 툴 : IDA 7.5 pro

쉬우니까 간단하게 적는다.


주어진 파일은 문제 파일 바이너리

 

 

main

역시 다 int이다. 마지막에 v7[v6]의 값을 출력시켜주는데 이 값은 v4와 v5를 더한 것이다.

 

옆에 함수 목록을 보면 아래와 같은 flag를 출력시켜주는 함수가 있다.

 

우리가 입력하는 v6은 v7의 인덱스인데 딱히 뭐... 적을 수 있는 제한이 없다. 여기서 범위 밖의 내용을 볼 수 있는 Out of bound.. OOB를 떠올렸다.

 

v4+v5를 저 win 함수의 주소로 주고, RET 부분에다가 저 주소를 넣어주자. 

0x60 + 0x8(SFP)를 하면 RET가 나온다. 

 

0x68 / 0x8 을 하면 13이다. index는 13이다~~

 

scanf의 반환값이 3이 아니면 while문을 빠져나가 종료되어서 문자같은거 입력해줘서 강종 시켜줘야한다.