본문 바로가기

Wargame/Lord Of Buffer overflow

[LOB] 3번 cobolt -> goblin










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