Wargame/Lord of Buffer Overflow

[LOB] nightmare > xavius

chocovy 2021. 7. 16. 13:19

[LOB] nightmare > xavius

xavius.c

stack, code, ret , LD 등 필터링이 다 걸려있다.

쉘 코드 넣을 곳을 찾아야 하는데 이번 문제는 이전의 문제들과 달리 fgets를 통해 stdin으로 입력을 받는다.

이때 stdin에 buffer가 생기는데 이 공간을 사용하면 된다.

 

main

fget의 세번째 인자가 stdin인데 <main+6> 부분이다.

 

stdin

이렇게 찾을 수 있다. 이제 입력을 받고 다시 확인해보자

 

stdin

<_IO_2_1_stdin_+4> : 문자의 끝

<_IO_2_1_stdin_+8> : 문자 길이

<_IO_2_1_stdin_+12> : 문자의 시작

 

즉 0x40015000에 입력이 있다는 소리다.

 

이곳에다가 쉘 코드를 박으면 된다.

 

exploit

xavius / throw me away