ssoL2 TISTORY

[FTZ] LEVEL12 풀이 본문

challenge/pwn

[FTZ] LEVEL12 풀이

ssoL2 2021. 2. 1. 06:31

level12 / it is like this

 

 

hint를 보니 LEVEL 11과 매우 유사한 문제이다. LEVEL 11에선 strcpy bof였다면 이 문제는 gets bof 문제이다.

LEVEL 11 했던 것처럼 RTL 기법으로 풀어봅시다.

 

 

gdb로 gets 인자로 사용한 STR 변수 위치 알아봤더니 EBP-264입니다. 

 

 

buffer(264) + ebp(4) + system주소 + nop(4) + /bin/sh주소 구조로 exploit 작성할 것이다. 

 

필요한 system 주소와 /bin/sh 주소를 알아봅시다.

ldd 명령어로 라이브러리 획득

 

 

해당 라이브러리에서 system 주소(\x4203f2c0)와 /bin/sh 주소(\x42127ea4) 획득

(이때 /bin/sh 주소 앞에 \x42 생략됨)

(-> 자세한 내용은 LEVEL11 풀이에서 확인 가능)

 

 

구상했던 payload로 exploit 작성해서 실행했더니 level13 권한 획득 성공, 해결 완료 !!!

 

 

참고로, level11과 다른 payload임

payload 작성 방법에는 argv와 stdin 방법 두 가지가 존재한다.

level11에서는 "인자"로 str 변수에 넣어서 [실행파일주소 `python -c 'print ~~~'`] 구조 형식이었지만

level12에서는 "stdin"으로 실행파일이 시작되고 나서 입력하므로 [(python -c 'print ~~~';cat) | 실행파일주소] 이다.

'challenge > pwn' 카테고리의 다른 글

[FTZ] LEVEL 14 풀이  (0) 2021.02.01
[FTZ] LEVEL13 풀이  (0) 2021.02.01
[FTZ] LEVEL 11 완벽분석  (1) 2021.02.01
[FTZ] LEVEL 10 풀이  (0) 2021.01.29
[FTZ] LEVEL 9 완벽 분석  (0) 2021.01.28
Comments