문제 풀이 환경 : ubuntu 18.04 |
쉬우니까 간단하게 적는다.
주어진 파일은 문제 파일 바이너리
역시 다 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문을 빠져나가 종료되어서 문자같은거 입력해줘서 강종 시켜줘야한다.
'WAR GAME > pwnable.xyz' 카테고리의 다른 글
[pwnable.xyz] xor 풀이 (64bit, OOB, call) (0) | 2021.05.05 |
---|---|
[pwnable.xyz] GrownUp 풀이 (64bit, fsb, strcpy) (0) | 2021.05.04 |
[pwnable.xyz] misalignment 풀이 (64bit, 리틀엔디안) (0) | 2021.05.03 |
[pwnable.xyz] sub 풀이 (64bit, 정수놀이) (0) | 2021.04.30 |
[pwnable.xyz] welcome 풀이 (64bit, malloc) (0) | 2021.04.30 |