stack5는 스택 버퍼 오버플로우(BOF) 문제로, 사용자가 입력한 값이 gets() 함수로 그대로 복사되면서 스택 영역을 침범할 수 있게 된다. 이를 이용하여서 쉘 코드를 삽입하고 코드의 흐름을 바꿔서 쉘을 획득할 수 있다. 코드 분석int main(int argc, char **argv){ char buffer[64]; gets(buffer);} gets() 함수는 입력 길이에 제한이 없기 때문에 buffer를 초과하여 입력하면 EIP를 덮을 수 있다. EIP를 쉘코드의 주소로 덮으면 임의의 코드를 실행할 수 있게 된다. 익스플로잇1. 오프셋(offset) 계산하기# 가상환경 만들기python3 -m venv ~/myenvsource ~/myenv/bin/activatepip3 ins..