System Hacking (pwnable)/hackerschool FTZ Write-up

[FTZ] level13 ( write - up )

hellojuntae 2019. 5. 28. 00:32

 이것 또한 strcpy의 취약점으로 발생하는 버퍼오버플로우다.

하지만 스택 가드가 존재한다. 변수 i의 값을 건들면 안된다.

즉, 변수 i와 변수 buf의 거리를 계산해서, 변수 i에 리틀엔디안으로 0x1234567을 넣어주면 될듯 하다!

 일단 함수 프롤로그 후 변수를 0x418 (1048) 만큼 할당한다.

그리고 buf의 크기는 1024이다. 

그리고 main+69 부분에서 ebp-12의 값과 0x1234567을 비교하므로 ebp-12가 변수 i임을 알 수 있다.

그리고 직접 브레이크 포인트를 걸고 동적 디버깅을 해서 변수의 거리를 알아낸다.

-> dummy data를 구하기 위해서!




ret은 1048 + 4라는 것을 생각해보았을때, buf 1024 + dummy 12 + i 4 + dummy 12 + EGGSHELL이 payload 이다.


 

클리어!

'System Hacking (pwnable) > hackerschool FTZ Write-up' 카테고리의 다른 글

[FTZ] level15 ( write - up )  (0) 2019.05.28
[FTZ] level14 ( write - up )  (0) 2019.05.28
[FTZ] level12 ( write - up )  (0) 2019.05.28
[FTZ] level11 ( write - up )  (0) 2019.05.27
[FTZ] level10 ( write - up )  (0) 2019.05.21