bufferoverflow 3

버퍼 오버플로우 실습 2편 - 32비트/64비트 익스플로잇 과정

1. 들어가며환경 구성이 끝났으니 이제 본격적으로 실습을 진행했다. 처음엔 단순히 오버플로우만 발생시키면 되는 줄 알았는데 null byte 문제, 스택 정렬 문제 등 생각보다 막히는 부분이 많았다. 32비트는 비교적 수월했는데 64비트로 넘어가면서 ROP 가젯이라는 개념까지 등장했다. 삽질한 과정도 그대로 담았으니 같은 오류를 만난다면 참고가 됐으면 한다.환경 구성 글: 버퍼 오버플로우 실습 1편 - 환경 구성 2. 컨테이너 접속 및 ASLR 비활성화1편에서 만든 컨테이너를 다시 시작하고 접속한다.docker start bof_practicedocker exec -it bof_practice /bin/bash접속 후 ASLR이 꺼져 있는지 먼저 확인한다. 컨테이너를 재시작하면 ASLR이 다시 켜지는 경..

버퍼 오버플로우 실습 환경 구성 - Docker 설치부터 컨테이너 생성까지

1. 들어가며버퍼 오버플로우를 직접 실습해보고 싶었는데, 내 PC에 바로 설치하기엔 부담스러워서 Docker 컨테이너를 활용했다. 실습 환경 특성상 보호 기법을 비활성화해야 하는데, 컨테이너 안에서 하면 내 PC에 영향이 없어서 마음 편하게 진행할 수 있었다. Docker 설치부터 컨테이너 생성까지 막히는 부분이 꽤 있었는데 그 과정을 그대로 정리해봤다.2. Docker가 뭔지Docker = 컨테이너 기반 가상화 도구컨테이너 = 내 PC 안에 독립된 가상 환경 → 내 PC에 영향 없이 실습 가능 → 망가지면 그냥 삭제하고 새로 만들면 됨3. 사전 확인 - 가상화 활성화 여부Docker 설치 전에 가상화가 활성화되어 있는지 확인해야 한다.확인 방법:작업관리자 열기 (Ct..

CWE-121/122: 버퍼 오버플로우(Buffer Overflow) 완전 정리 - 개념부터 실무 탐지까지

1. 이 글에서 다루는 것보안 뉴스나 CVE 분석 글을 읽다 보면 "버퍼 오버플로우(Buffer Overflow)" 라는 단어가 자주 등장한다. 실제로 CVSS 9.0 이상의 치명적 취약점 중 상당수가 이 유형에 해당한다. 이 글에서는 버퍼 오버플로우가 무엇인지, 왜 위험한지, 그리고 실무에서 어떻게 탐지할 수 있는지를 정리한다.2. 버퍼 오버플로우란?버퍼(Buffer)가 뭔지부터버퍼란 프로그램이 데이터를 임시로 저장해두는 메모리 공간이다. 프로그램은 데이터를 처리하기 전에 일단 버퍼에 담아두고, 처리가 끝나면 비운다.예시: DNS 응답을 받을 때외부에서 DNS 응답 도착 ↓버퍼에 임시 저장 (크기: 512바이트로 미리 지정) ↓프로그램이 버퍼에서 데이터를 꺼내 처리 오버플로우(..