cobolt
-
Level3 (cobolt -> goblin)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:15
소스 코드를 확인해 보면 이번에는 gets()함수를 이용해서 입력을 받습니다. gdb를 이용해서 dummy 값이 있나 확인해 보겠습니다. 16만큼의 크기가 할당 되었습니다. buffer + SFP + RET 의 스택을 가지고 있습니다. core dump 를 떠 보겠습니다. core를 분석해서 RET의 주소를 확인해 보겠습니다. 53535353의 주소 맨처음이 0xbffffb30이므로 해당 값을 이용해서 BOF를 일으켜 보겠습니다. login : goblin Password : hackers proof 환경변수로 풀이하는 문제풀이는 이전에 사용한 방법과 같기때문에 생략하겠습니다.
-
Level2 (gremlin -> cobolt)$ 시스템 해킹 $/Los Of BufferOverflow 2020. 1. 1. 14:12
소스 코드를 확인해 보겠습니다. 소스코드가 매우 level1과 같습니다. 똑같은 방식으로 풀이을 해보겠습니다. 이번에도 dummy 없이 정확히 16인것으로 보아 Buffer + SFP + RET 형식으로 되어 있습니다. 환경변수에 쉘코드를 입력해 보겠습니다. 사용한 쉘코드는 25바이트의 쉘코드 입니다. \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80 해당 sh이름의 환경변수의 주소를 찾기 위해서 코드를 작성해 보겠습니다. gcc -o 를 이용해서 컴파일해서 실행해 보겠습니다. 페이로드를 작성해 보겠습니다. login : cobolt Password : hacking expo..