war game/LOB

LOB-level17(function calls)

후드빌런 2019. 7. 3. 03:57

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

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

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

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

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

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

잉 아니네.

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

0xbffffc58로 다시 가면~

성공~