login : gremlin
password : hello bof world
로그인 후 vi cobolt.c로 소스코드를 확인한다.
1번 문제처럼 풀기엔 버퍼의 크기가 작다.
그래서 환경 변수로 풀어주면 된다.
위와 같이 SHELL 이라는 환경 변수에 쉘코드 주소를 넣어준다.
env 명령어로 환경변수 SHELL이 생긴 걸 알 수 있다.
환경변수의 주소를 알기 위한 코드를 C언어로 작성해보았다.
환경변수의 주소는 위와 같다.
그래서 위와 같이 버퍼와 SFP를 NOP으로 채워주고 RET 주소에 환경변수 주소를 넣어주면 문제 해결
'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] 3번 cobolt -> goblin (0) | 2017.11.02 |
[LOB] 1번 gremlin (0) | 2017.10.15 |