profile image

L o a d i n g . . .

1. 문제

파일들을 확인한 모습이다.
바이너리를 실행해보니 입력을 받고 끝난다.

 

Hint를 확인한 모습이다.

앞선 14번 문제와 유사한 모습이다.

다만 여기선 check가 int형 포인터이다.

 

bof를 통해 check 값( 주소 값을 변경해서 ), 그 주솟값을 참고했을 때 0xdeadbeef 가 되게 해야한다.

-> 0xdeadbeef 의 주솟값을 구해서 check 값을 그것으로 변경해주면 될 것이다.

 

 

 

2. 문제 해결 과정

이제 그럼 구해야 할 것들 구해보자!

main을 디스어셈블한 결과이다.

check : ebp-16

buf : ebp -56

check 와 buf 간 offset은 40이다.

 

그리고 0xdeadbeef 의 경우 프로그램에 직접 코딩되어 있어 코드 영역에 존재한다.

그래서 0xdeadbeef 의 주소를 구해보자!

 

 

0xdeadbeef 의 주소값 : 0x80484b2

 

따라서 payload는 다음과 같을 것이다.

"A"*40 + 0x80484b2

 

 

3. Exploit

위를 논리대로 payload를 작성해보았다.

 

Level16 password : "about to cause mass"

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

[FTZ] 해커스쿨 FTZ level 17  (0) 2021.04.13
[FTZ] 해커스쿨 FTZ level 16  (0) 2021.04.13
[FTZ] 해커스쿨 FTZ level 14  (0) 2021.04.12
[FTZ] 해커스쿨 FTZ level 13  (0) 2021.04.12
[FTZ] 해커스쿨 FTZ level 12  (0) 2021.04.12
복사했습니다!