본문 바로가기

Wargame/Lord Of Buffer overflow

[LOB] 10번 vampire -> skeleton














id : vampire

password : music world


로그인 후 skeleton.c의 코드를 보면 다음과 같다.









이번에는 argv를 싹 다 날려버린다.








동아리 선배가 주신 힌트를 보면 맨 아래에 NULL 위에 program name이 있다.


아무리 argv를 날려도 이 이름은 남아 있으니까 심볼릭 링크로 이름에 쉘코드와 NOP을 넣어주면 될 것 같다.








전에 풀었던 문제처럼 길이를 100으로 맞춰줄 것이기 때문에 a 100글자로 복사했다.








gdb로 프로그램 이름이 있는 주소를 찾아 보았다.








0xbfffff97이 프로그램 이름의 시작 주소이다.








skeleton에 쉘코드와 NOP이 있는 심볼릭 링크를 걸어준다.








위와 같이 만들어졌다.






이제 심볼릭 링크의 이름으로 실행 하고 NOP으로 44byte 채운 후에 리턴 어드레스에 아까 찾은 주소를 입력해주면 된다.


비밀번호를 알아냈다.


'Wargame > Lord Of Buffer overflow' 카테고리의 다른 글

[LOB] 13번 darkknight -> bugbear  (0) 2017.11.22
[LOB] 11번 skeleton -> golem  (0) 2017.11.19
[LOB] 9번 troll -> vampire  (0) 2017.11.16
[LOB] 8번 orge -> troll  (0) 2017.11.16
[LOB] 7번 darkelf -> orge  (0) 2017.11.14