HO_9
HO9
HO_9
전체 방문자
오늘
어제
  • 분류 전체보기 (104)
    • Write Up (3)
    • WarGame (21)
      • The Lord of Bufferoverflow(.. (7)
      • The Lord of Sql Injection(L.. (1)
      • Pwnable.kr (1)
      • Pwnable.tw (0)
      • XSS GAME (6)
      • Pwnable.xyz (5)
    • SYSTEM HACKING (49)
      • 기법 (24)
      • 문제 풀이 (24)
    • CODING (2)
      • PYTHON (2)
    • WEB HACKING (1)
    • Plan (0)
    • PROJECT (0)
    • iOS (6)
    • ALGORITHM (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

  • .

인기 글

태그

  • log4j
  • 취약점
  • JNDI
  • 아파치

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
HO_9

HO9

Special Chapter-Double Stage Format String Bug
SYSTEM HACKING/기법

Special Chapter-Double Stage Format String Bug

2018. 1. 1. 17:55
728x90

2017/12/31 - [SYSTEM HACKING/기법] - DAY-8 FSB(Format String Bug)


Double Stage Format String Bug(DSFSB)


일반적으로 Format String Bug(FSB)는 스택의 값을 조작하여 원하는 결과가 나오게 하는 공격 방법 이지만

Double Stage Format String Bug(DSFSB)는 buffer가 전역으로 선언되어있고 스택에 존재하는 값을 변조할 적절한 값이 없을때 사용한다.

DSFSB는 스택에 있는 포인터를 이용해서 포인터가 가르키는 주소를 내가 원하는 주소로 바꾸고 그 바꾼 주소를 FSB하는 방법이다.



문제를 풀어보면서 이해 하자.

문제는 pwnable.kr의 fsb문제를 이용하겠다.




fsb함수를 보면 FSB가 보인다.FSB를 네번 시도 할 수 있을 것 같다.(for문)

하지만 전역변수로 설정되어 있으니 DSFSB를 이용해서 쉘을 따내어야 한다.

key값을 0으로 바꾼후 key값을 물어볼 때 0을 입력하면 쉘이 따질 것 이다.


일단 key값의 주소를 구해보자


일단 key의 주소값을 구했다.

이번에는 gdb를 통해서 정확하게 DSFSB를 알아보겠다.

그럼 FSB가 일어나기 전과 일어난 후를 브레이크해서 보겠다.



r을 해서 %x.%x.%x.%x.%x를 줘보자.

그후 x/100wx $esp해서 값을 확인해보면




여러가지 포인터들이 보인다.

그중 하나를 사용해서 key의 주소값을 넣어주자.

가장 쓸만한 주소인 0xffc1d7f0을 사용하겠다.

0xffc1d7f0은 14번째이므로 %134520928x%14$n (※134520928=key의 hex값)

그럼 값이 들어갔는지 확인해 보자.

화면이 쭈르륵 내려간다.기다려보자~



0xffc1d7f0을 보면 key의 주소값이 들어가 있다.

그럼 이번에는 key의 주소값에 0을넣어보겠다.

%20$lln을 줘보자. lln을 쓴이유는 pw가 long long형으로 정의되었기 때문이다.



정확하게 key값에 0x00000000이 들어갔다.

이처럼 포인터를 통해서 값을 넣어주면 된다.

이처럼 했는데 gdb에서 마지막에 오류가 난다... 왜이럴까 그래서 gdb에서 나가서 쌩파일로 실행을 해서 값을 줬다.

그래고 그렇게 하니까 쉘이 따졌다.썽공!








'SYSTEM HACKING > 기법' 카테고리의 다른 글

[How2Heap] House of Spirit  (0) 2018.02.01
[How2Heap] Fastbin dup into Stack  (0) 2018.01.28
DAY-8 FSB(Format String Bug)  (0) 2017.12.31
DAY-7 ROP(Return Oriented Programming)  (0) 2017.11.18
Special Chapter-RTL Chaining  (0) 2017.11.11
    'SYSTEM HACKING/기법' 카테고리의 다른 글
    • [How2Heap] House of Spirit
    • [How2Heap] Fastbin dup into Stack
    • DAY-8 FSB(Format String Bug)
    • DAY-7 ROP(Return Oriented Programming)
    HO_9
    HO_9

    티스토리툴바