달력

5

« 2024/5 »

  • 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
  • 31

'codemap'에 해당되는 글 1

  1. 2017.07.09 [문제풀이] pwnable.kr - codemap
2017. 7. 9. 15:16

[문제풀이] pwnable.kr - codemap Wargames/pwnable.kr2017. 7. 9. 15:16



※ 사전지식


Dynamic Binary Analysis & Dynamic Binary Instrumentation 


바이너리 동적 분석을 얼마나 어떻게 효율적으로 할 수 있는가 ?!

 Answer : 나같은 평민은 남들이 잘 만들어놓은 툴을 사용해라!! 

 

 

사전지식 끝! 





※ 문제풀이 


음 이 문제는 제목이 곧 답이 될 수가 있다. 

문제의 제목으로 개발된 툴이 있더라. 좋은 툴인 것 같더라. 



본론으로 돌아와서 해당 문제는 주어진 바이너리를 분석한 뒤 질문한 내용에 답을 해주는 형식으로 풀게 된다. 







[그림 1]


일단 문제가 어떤 유형인지 대충 감을 잡았으니 바이너리를 분석해보도록 하겠돠.

일단 파일을 실행시키면 멘트가 뜬다. 


[그림 2]


1000개의 힙을 랜덤사이즈로 만든다고 한다. 게다가 각 청크는 랜덤 스트링을 가진다고 한다. 엔터를 누르라고 한다.


그래서 난 엔터를 눌렀다. 쩜쩜



간단히 올리디버거로 파일을 오픈한 뒤 문제에서 주의깊게 보라고 한 지점에 bp를 걸고 확인해보도록 하겠다. 


[그림 3]


딱 보면 알겠지만 EAX는 청크의 크기를, EBX는 문자열을 가리키고 있다. 


그럼 이제 선택의 시점이다. 


하나하나씩 분석하던지!! 

좋은 툴을 찾던지!!!!!

아니면 툴을 개발하던지!!!!!!


나같은 경우는 걍 남이 만들어놓은 걸 활용했당. ^^^^^^^^^^^^^



[그림 4]



문제풀이 끝!





:
Posted by einai