Profile

머리정리하는곳

c2w2m2

[LOB FC4 - level 3]enigma -> titan


...? ftn 을 덮는건 일도 아닌데 덮어서 뭘 호출하지.......?? 덤으로 buf 가 bss 영역에 있당... 


일단 eip 를 어캐 바꾸지 생각해 봤는데 답은 strcpy 나 fgets 같은 함수의 ret 을 덮는거라고 생각했습니다.


이걸 어캐 덮지 했는데 ftn 을 덮어서 eip 를 바꿀수 있는것을 보고, rop 처럼 하면 되려나 해서 가젯을 확인.



가젯을 보니 esp 정도는 맘대로 움직일수 있네......요?


.....? 그럼 fgets 전에 있는 add esp 로 esp 움직이고 그 후 fgets 로 다시 받고 또 움직이고....


결국 ret 를 덮어버리고.....?


좋아 수학시간이다





buf 와 esp 차이 36    => fgets ret : buf - 40




한번 하니까 esp 가 0xc 만큼 오르고 바꿔말하면 fgets ret 가 0xc 만큼 오르는거고


그럼 


count  |  1            | 2            | 3            | 4          | 5


ret      |  buf - 40   | buf - 28   | buf - 16   | buf - 4   | buf + 8


니까 1+4 해서 4번하고 


dummy [8 byte] + system + "AAAA" + /bin/sh


인가 ㄱㄱㄱㄱㄱㄱㄱㄱㄱ




이예에에에



FC4 포스팅 끝

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

[LOB FC4 - level 2] cruel-> enigma  (0) 2017.07.27
[LOB FC4 - level1] dark_stone->cruel  (0) 2017.06.27
[LOB FC3 - level3] dark_eyes -> hell_fire  (0) 2017.06.27
클리어  (0) 2017.06.27
[LOB FC3 - Level5] evil_wizard -> dark_stone  (0) 2017.06.23