gremlin.c를 보면 취약점이 있다는 strcpy를 사용하였다. 입력받는 문자열의 길이를 알 수 없으니 bufferoverflow문제가 생길 수 있다. gdb를 이용하면 어셈블리어로 출력할 수 있다. [명령어] r : 재시작 ni : 다음줄 재생 x/10x $esp : esp에서 10개 메모리 출력 위 사진보면 A 4개가 0xbffffa58~ 출력되는 모습이다. 다음과 같이 256byte 크기의 buffer에 4byte 크기의 ebp만큼 dummy데이터를 넣고 ret address에 1. shellcode를 환경변수로 설정하고 해당 주소를 출력한다. 2. 256byte안에 shellcode를 넣어놓고 ret address가 이를 가리키게 한다. 두가지 방법으로 flag를 얻을 수 있다. export ..