My Study/Exploit2010. 3. 23. 09:26
했던해로 어셈코드를 보시겠습니다.
level14번과 소스코드는 다른게 거의 없었습니다. 비교하는 부분만 살짝 달랐습니다.
level14번 같은 경우는 
if( a == 0xdeadbeef ) 였지만
level15번은
if( *a == 0xdeadbeef )입니다.

어떻게 공격하면 될까요?? 시나리오는 단순합니다.
level14에서는 해당 버퍼에 그 값을 넣어주면 끝났지만
level15번에서는 해당 버퍼에 0xdeadbeef를 가리키는 주소를 넣어주면 됩니다.
그림으로 보시겠습니다.

(사실 제가 포토샵을 다룰지 모릅니다. 그래서 그림판으로.. ^^;; )
위와 같이 처음 부분에 0xdeadbeef를 넣어주고 (ebp-16)자리에는 저 위 주소를 넣어주면 끝납니다.

이제 공격을 해보겠습니다. 이쯤되면 해당 주소 찾는 수준은 전부 되어있을 태니 생략하겠습니다.
성공입니다.

끝.... -.-;

'My Study > Exploit' 카테고리의 다른 글

Hackerschool level17  (0) 2010.03.23
Hackerschool level16  (0) 2010.03.23
Hackerschool level15  (0) 2010.03.23
Hackerschool level14  (0) 2010.03.22
Hackerschool level13  (0) 2010.03.22
Hackerschool level12  (3) 2010.03.22
Posted by sharememory

댓글을 달아 주세요