Be myself :: Double free exploit

달력

32024  이전 다음

  • 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

Double free exploit

Exploit 2014. 9. 17. 15:33

fake chunk 만들 시 PREV_SIZE 와 SIZE값이 과연 무엇을 의미 하는지 이제 약간 감이 잡히는 듯 ? 물론 커널버전마다 약간씩 달라질 것 같긴 한데. 일단 써본다.

exploit-exercises 에서 protostar heap3번 문제가 double free bug 관련 문제다. 이 때, fake chunk를 구성 하는데 만약 [chunk 1 ][chunk 2 ] 이런식으로 되어 있고 여기서 fake chunk를 구성 할 때, 보통 [A * chunk 1 크기][0xfffffc][0xffffffff][fake fd][fake bk] 이런 식으로 페이로드를 구성한다. 근데 이 때 앞의 PREV_SIZE(0xfffffffc) 부분은 fd와 bk의 부분의 오프셋값을 결정하고 size값은 말 그대로 PREV_SUS의 값으로 써 0의 값을 가지는 음수가 위치하게 된다. 

따라서 이 문제에서 답을 얻기 위한 페이로드는 [A * chunk 1 크기][0xfffffc][0xfffffffc]+[AAAA]+[fake fd][fake bk] 이런식으로 A가 dummy 로 들어가는게 핵심인듯.


'Exploit' 카테고리의 다른 글

메타스플로잇을 이용한 쉘코드 작성  (0) 2014.10.03
스택 보호기법  (2) 2014.09.22
RTL을 이용한 쉘코드 작성  (3) 2014.08.02
유니코드 익스플로잇  (0) 2014.07.21
SEH overwrite 실습  (0) 2014.07.16
Posted by flack3r
|