cat cobolt.c
1번을 환경변수를 이용한 방법을 통해 풀었으니 2번에서는 argv로 받는 문자열 개수에 제한이 없다는 것을 이용하여 argv[2]를 인자로 전달한 후에 argv[2]의 주소를 찾아 RET의 주소를 덮는 방법을 이용한다.
main+3에서 0x10의 메모리를 확보한다. argv인자는 프로그램 시작과 동시에 전달이 된다.
이렇게 argv[2]의 시작주소를 찾으면 0xbffffb0이므로 넉넉히 0xbffffbb8로 공격한다.
'LOB' 카테고리의 다른 글
LOB 6번 (wolfman → darkelf) (0) | 2016.10.04 |
---|---|
LOB 5번 (orc → wolfman) (0) | 2016.07.13 |
LOB 4번 (goblin → orc) (0) | 2016.07.13 |
LOB 3번 (cobolt → goblin) (0) | 2016.07.13 |
LOB 1번 (gate → gremlin) (0) | 2016.07.13 |