Be myself :: Fc3 dark_eyes

달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

Fc3 dark_eyes

Wargame 2014. 8. 22. 22:53

문제파악

Fake ebp가 먹히지 않는다. 일단 문제를 풀기 전에 https://research.hackerschool.org:8080/Datas/Research_Lecture/FC%203,4,5%20stack%20overflow.txt 여기서 bof의 기법들을 알고 오자. 보고 왔는가? 그렇다면 이 문제는 간단한 ret sleding문제임을 알 수 있을 것이다.

Ebp를 조절하는 대신 esp를 조절해 execv의 인자들을 스택상에 맞춰 주는 기법이다. Execv는 첫 번째 인자에 실행할 파일의 경로가 담긴 주소 값이 들어간다. 두 번째 인자는 argv[]가 들어가는데 null을 넣어줘도 된다. 그렇다는 것은 익스플로잇으로 스택을 구성 할 때 첫 번째 인자가 될 만한 곳을 스택에서 찾아서 그 부분의 값으로 쉘을 주는 프로그램을 ln 링크걸면 실행된다는 것이다. 자 다음과 같이 따라와 보자.

문제풀이

일단 A를 버퍼에 264개 넣었을 때 스택의 모습이다. 스택을 보면 우리가 구성할 인자 부분이 저렇게 보기 좋게 구성되어 있다. 첫 번째 인자부분의 값을 살펴보자.

ㅎㅎ 값도 작고 좋다. 심볼릭 링크의 이름을 \x3c\xed\x83으로 지정하면 된다.(null 까지 읽히므로) 자 그럼 ret를 3번 sleding하고 execv의 주소를 넣으면 쉘이 떨어질 것이다. ^^

페이로드 구성 = "A"*268 + "ret"*3 + &execv

자 다음과 같이 프로그램을 만들고 심볼릭 링크를 걸자.

자 이제 공격!!

아힝흥행~! 깔끔하다.

'Wargame' 카테고리의 다른 글

exploit-exercise ssh 접속방법  (0) 2014.09.24
wargame.kr 올클  (0) 2014.09.21
Suninatas all clear  (3) 2014.07.25
워게임 현황  (0) 2014.07.01
CodeEngn 베이직 올클  (0) 2014.05.14
Posted by flack3r
|