우선 문제를 보니 ret자리에 strcpy의 주소를 맞춰줘야하고, strcpy의 ret는 AAAA로 초기화해준다.

공격은 [system주소]+[AAAA]+[/bin/sh주소]+[nop*35]+[strcpy주소]+[AAAA]+[buf+48주소]+[buf시작주소]로 하면 될 것 같다.

 

음 실패. 역시 주소가 안맞나보다...

주소를 확인해보면 buf시작주소 = 0xbffffbb0, buf+48주소 = 0xbffffbe0이다.

가볍게 해결~

'war game > LOB' 카테고리의 다른 글

LOB-level20(remote BOF)  (0) 2019.07.04
LOB-level19(fgets + destroyers)  (0) 2019.07.04
LOB-level17(function calls)  (0) 2019.07.03
LOB-level16(fake ebp)  (0) 2019.07.03
LOB-level15(no stack, no RTL)  (0) 2019.07.02

이번에도 strcpy에서 인자 검사를 해주지 않는데, rtl을 이용해 문제를 풀라 제시했기에 rtl을 이용해보려한다.

system 주소를 구하고, 

/bin/sh가 들어있는 주소를 구하고

주소를 뽑아준 뒤

성공ㅎ

참고로 쉘코드는 [버퍼]+[system주소]+[system ret]+[system 인자]순으로 넣었다,

'war game > LOB' 카테고리의 다른 글

LOB-level15(no stack, no RTL)  (0) 2019.07.02
LOB-level14(RTL2, only execve)  (0) 2019.07.02
LOB-level12(sfp)  (0) 2019.07.02
LOB-level11(stack destroyer)  (0) 2019.06.30
LOB-level10(argv hunter)  (0) 2019.06.30

+ Recent posts