본문 바로가기

LOB

LOB 2번 (gremlin → cobolt)

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