OverTheWire_Wargame Narnia

[ level0 -> level1 ]


Bandit와 Leviathan을 지나 드디어 Narnia로 넘어왔습니다.

level0부터 바로 시작하도록 하겠습니다.


OverTheWire 웹페이지 narnia 카테고리를 눌러보면 하단에 위와 같은 문구가 있습니다.

지금까지는 보통 홈 디렉토리에 다음 레벨로 넘어갈 수 있는 바이너리나 정보가 있었는데, 이번에는 /narnia/ 디렉토리에 전부 몰려있는 듯 합니다.

/narnia/ 디렉토리에서 level1로 넘어갈 수 있는 정보를 찾아보도록 하죠.



홈 디렉토리에는 아무 정보도 있지 않고, /narnia 디렉토리로 가 보니 level8까지의 정보가 모두 들어있습니다.

바이너리와 소스코드 모두 주어져 있으니 narnia0.c를 살펴보도록 합시다.



첫번째로 long형 데이터인 val이 'AAAA'로 선언 되어 있으며, buf변수는 20바이트로 선언이 되어있습니다. 그리고 쉘을 띄워주는 조건으로 val 변수가 0xdeadbeef가 되길 원하고 있습니다. 바로 위의 scanf 부분에서 24바이트만큼 입력을 받는 것을 보니 char 배열과 long형 변수 사이에 dummy byte는 따로 없는듯 합니다. 바로 20바이트 dummy + 0xdeadbeef를 입력해주면 쉘이 띄워질 것 같습니다.



짜잔!

+ Recent posts