id : cobolt
passwd : hacking exposed
로그인 후 goblin의 코드를 보면 다음과 같다.
이번에는 gets로 문자열을 입력받는다.
2번처럼 환경변수를 사용하여 문제를 풀면 된다.
shellcode 라는 환경변수를 만들어서 파이프라인을 통해 문제를 해결할 수 있다.
파이프라인의 첫번째 명령의 출력값이 두 번째 명령의 입력으로 사용된다.
따라서 goblin에서 gets로 받아오는 값을 통해 쉘이 실행되어 my-pass를 통해 비밀번호를 알아낼 수 있다.
여기서 cat을 쓰는 이유는 EOF를 인식해 프로그램을 종료시키는 것을 막기 위해서이다.
cat을 쓰지 않고 실행했을 때 프로그램이 혼자 종료된다.
따라서 프로그램의 종료를 지연해주는 역할을 해준다.
'Wargame > Lord Of Buffer overflow' 카테고리의 다른 글
[LOB] 6번 wolfman -> darkelf (0) | 2017.11.07 |
---|---|
[LOB] 5번 orc -> wolfman (0) | 2017.11.07 |
[LOB] 4번 goblin -> orc (0) | 2017.11.07 |
[LOB] 2번 gremlin -> cobolt (0) | 2017.11.02 |
[LOB] 1번 gremlin (0) | 2017.10.15 |