일단 main문 길이보고 한번 놀라고 이것저것 존재하는 함수보고 한번 더 놀랐다.  느낌을 보니 맨처음 ret주소는 DO를 가르켜야 된다 했으니 그 뒤로 계속 함수를 호출해주면 될 것 같다.

nm명령어를 써주면 각 함수의 주소가 순차적으로 나온다. 이제 공격로드를 작성해보자.
[버퍼44]+[DO]+[GYE]+[GUL]+[YUT]+[MO]+[/bin/sh]

역시 저렇게 넣으면 안되는 듯 하다.

/bin/sh주소를 찾아주자. 코드를 보면 버퍼 48부터 100자리까지 지우지 않는 것을 볼 수 있다.

A로 ret를 덮고, 인자 받을 부분을 B로 채운 뒤 C를 잔뜩 넣으니 이런식으로 나온다.

/bin/sh의 주소는 0xbffffc38이겠다.

잉 아니네.

적게 채워주면 주소가 달라지나보다. 

0xbffffc58로 다시 가면~

성공~

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

LOB-level19(fgets + destroyers)  (0) 2019.07.04
LOB-level18(plt)  (0) 2019.07.03
LOB-level16(fake ebp)  (0) 2019.07.03
LOB-level15(no stack, no RTL)  (0) 2019.07.02
LOB-level14(RTL2, only execve)  (0) 2019.07.02

+ Recent posts