Untitled

적용되어 있는 보호기법으로는 NX와 Partial_RelR0가 걸려있다.

Untitled

Untitled

IDA로 정적분석을 진행해 보니 상대방이 보내는 포켓몬에 따라 맞는 포켓몬을 보내야 이후 scanf를 통해 BOF가 발생한다.

BOF를 통해 Ret_Address를 Overwrite 할 수 있게 된다.

Untitled

이후 regend() 함수를 통해 /bin/sh 쉘을 실행할 수 있다.

RIP를 조작하여 해당 함수로 가면 최종적으로 쉘을 획득할 수 있게 될 것이다.

작성한 익스플로잇 코드는 아래와 같다.