Pwnable/FTZ

FTZ - level15 [Buffer Overflow 𝜺]

2020. 8. 28. 13:13
목차
  1. LEVEL 15

LEVEL 15

 

[level15] passcode : guess what?

(NO DRAG, NO PASSCODE)


hint의 코드를 분석해보자.

이번 문제는 level14와 아주 유사하지만 check 변수가 포인터 변수로 바뀐 것을 볼 수 있다. level15 에서는 다음과 같이 해결한다.

 

  • check 부분에 0xdeadbeef 값을 직접 입력해주는 것이 아니라 0xdeadbeef 값이 들어있는 주소 자체를 넣어주어야 한다.
  • if 문 조건식의 check → check에 주소를 넣어주게 되면 간접참조연산자(*)가 이 주소값 안에 있는 값을 읽어올 것이다. 이 주소에는 0xdeadbeef 가 들어있기 때문에 if 문을 pass 한다.

attackme 프로그램을 tmp로 복사하고 gdb를 이용하여 뜯어보자.

  • 할당된 메모리 → (0x38 + 0x8) = 64
  • 예상되는 메모리 구조 → *buf(20) + dummy(20) + check(4) + dummy(8) + crap(4)+ SFP(4) + RET(4) = 64

이제 0xdeadbeef 를 가지고 있는 주소를 찾아주어야 한다. 우선 if 문에서 0xdeadbeef 값을 비교하므로 메모리 어딘가에 oxdeadbeef 가 존재할 것이다. 우리는 그 주소를 찾아서 *check 에 넘겨주면 된다.

 

먼저 main 함수의 메모리를 뜯어보자.

다음과 같이 0x80484b2 에 0xdeadbeef 가 들어있는 것을 볼 수 있다. 이제 이 주소를 *check 에 넘겨주자.

쉘이 따지면 my-pass를 통하여 passcode를 얻어내자.


[level16] : about to cause mass

저작자표시 (새창열림)

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

FTZ - level17 [Buffer Overflow 𝜼]  (0) 2020.08.28
FTZ - level16 [Buffer Overflow 𝜻]  (0) 2020.08.28
FTZ - level14 [Buffer Overflow 𝜹]  (0) 2020.08.28
FTZ - level13 [Buffer Overflow 𝜸]  (0) 2020.08.28
FTZ - level12 [Buffer Overflow 𝜷]  (0) 2020.08.28
  1. LEVEL 15
'Pwnable/FTZ' 카테고리의 다른 글
  • FTZ - level17 [Buffer Overflow 𝜼]
  • FTZ - level16 [Buffer Overflow 𝜻]
  • FTZ - level14 [Buffer Overflow 𝜹]
  • FTZ - level13 [Buffer Overflow 𝜸]
Lucvs
Lucvs
Department of Computer Science and Engineering, 21th, Sungkyunkwan University
Lucvs
Lucvs
Lucvs
전체
오늘
어제
  • 분류 전체보기
    • Lucvs
      • 훈련소 일기
      • 寿司
      • 영국 여행기
    • Pwnable
      • Techniques
      • FTZ
      • LOB
      • HackCTF
      • Dreamhack
      • pwnable.kr
      • CTF
    • Web Hacking
      • Techniques
      • Webhacking.kr
      • HackCTF
      • Dreamhack
      • LOS
    • Reversing
      • Dreamhack
    • Cryptography
      • Modern Cryptography
      • Algorithm
      • Differential Attack (차분 공격)
      • Linear Attack (선형 공격)
    • Forensic
      • Dreamhack
    • Programming
      • C
      • Python
      • Java
    • Deep Learning
    • Network
    • Project
    • Hardware
      • Raspberry Pi
      • Arduino

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 공군
  • J
  • 일기
  • blind sql injection
  • 영국
  • lord of sql injection
  • 차분 분석
  • 기훈단
  • 군대 일기
  • 드림핵
  • SQL INJECTION
  • 여행기
  • rev-basic
  • 웹해킹
  • Los
  • 기본군사훈련단
  • 훈련소 일기
  • 잉글랜드
  • Lord of SQL Injeciton
  • 공군 훈련소
  • 차분 공격
  • 훈련소
  • 효전화
  • 군대
  • 런던
  • Error-Based SQL Injection
  • dreamhack
  • Web Hacking
  • dreamhack.io
  • Differential Attack

최근 댓글

최근 글

hELLO · Designed By 정상우.
Lucvs
FTZ - level15 [Buffer Overflow 𝜺]
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.