본문 바로가기

wargame/lob

(11)
LOB level 3 (cobolt -> goblin) LOB level 3 LOB (cobolt -> goblin) 1. 첫 번째로 cat 명령어를 사용하여 goblin파일의 코드를 확인합니다. 2. 코드 분석1) char형 buffer[16]을 생성 2) gets함수는 scanf 함수와 동일한 기능을 하는 함수입니다.어떤 값을 입력받는 함수입니다.buffer에 입력값을 저장 3. gdb 를 사용하여 인자값들의 주솟값을 확인하기 위해 cp 명령어를 사용해 /tmp로 복사시켜줍니다. $ cp goblin /tmp/goblin ( gdb 권한 문제) (tmp위치에서 gdb goblin을 한 후) gdb를 이용해 스텍의 크기는 16 이라는 것을 알 수 있습니다.16byte+main함수의 ebp(4byte)=20byte 를 채운 후 return address (4..
LOB level 2 (gremlin -> cobolt) LOB level 2 LOB (gremlin -> cobolt) 1. 첫 번째로 cat 명령어를 사용하여 cobolt파일의 코드를 확인합니다. 2. 코드 분석1. char형 buffer[16]을 생성2. 전달 받는 인자의 수가 2개 미만이면 프로그램 종료3.strcpy argv[1]을 buffer에 복사한다. 여기서 argv[0]은 프로그램을 실행시키는 명령어 입니다. 예를 들어 ./cobolt 여기서는 이것이 argv[0]이 되겠습니다. 3. gdb 를 사용하여 인자값들의 주솟값을 확인하기 위해 cp 명령어를 사용해 /tmp로 복사시켜줍니다. $ cp cobolt /tmp/cobolt ( gdb 권한 문제) (tmp위치에서 gdb cobolt을 한 후) gdb를 이용해 스텍의 크기는 16 이라는 것을 ..
LOB level1 (gate->gremlin) LOB level 1 LOB (gate -> gremlin) 1. 첫 번째로 cat 명령어를 사용하여 gremlin파일의 코드를 확인합니다. 2. 코드 분석1. char형 buffer[256]을 생성2. 전달 받는 인자의 수가 2개 미만이면 프로그램 종료3.strcpy argv[1]을 buffer에 복사한다. 여기서 argv[0]은 프로그램을 실행시키는 명령어 입니다. 예를 들어 ./gremlin gdb 를 사용하여 인자값들의 주솟값을 확인하기 위해 cp 명령어를 사용해tmp로 복사시켜줍니다.( gdb 권한 문제) gdb를 이용해 스텍의 크기는 0x100=256byte라는 것을 알 수 있습니다. b * 는 breakpoint를 말합니다.disas main에서 프로그램을 멈출 지점을 정해주는 것 입니다.(..