Study/System

BOF (버퍼 오버플로우, Buffer Overflow)

imaginefuture-1 2025. 2. 18. 21:43

💡 BOF (버퍼 오버플로우, Buffer Overflow) 일상적인 예시

BOF(버퍼 오버플로우)는 정해진 공간(버퍼)보다 더 많은 데이터를 넣어서 넘쳐버리는 상황을 의미합니다.
쉽게 말하면 컵에 물을 너무 많이 부어서 넘치는 것과 같아요! ☕💦


📌 BOF(버퍼 오버플로우) 일상 예시

1️⃣ 컵에 물 따르기 예시 ☕

  • 300ml짜리 컵이 있음
  • 물을 500ml 부으면? 🚨 컵이 넘쳐서 흘러버림
  • 정해진 용량(버퍼)보다 더 많은 데이터를 넣어서 문제가 발생하는 상황!

2️⃣ 노트 필기 예시 📖

  • 공책 한 페이지에 10줄만 적을 수 있음
  • 그런데 20줄을 적으면?
  • 📢 "글씨가 공책 바깥으로 삐져나옴!" 🚨 (메모리 침범)

3️⃣ 엘리베이터 최대 탑승 인원 초과 🚪

  • 엘리베이터 최대 정원 10명
  • 그런데 15명이 타면? 🚨 과부하 & 경고음
  • 정해진 크기(버퍼)보다 더 많은 데이터를 넣으면 문제 발생

4️⃣ 비밀번호 입력칸 예시 🔑

  • 로그인할 때 최대 8자리 비밀번호 입력 가능
  • 그런데 "1234567890123" (13자리) 입력하면? 🚨
  • → 프로그램이 제대로 작동하지 않거나, 해킹 취약점 발생 가능!

5️⃣ 자동차 트렁크에 짐 싣기 🚗

  • 트렁크 용량이 50kg
  • 그런데 100kg 짐을 넣으면? 🚨 트렁크 고장!
  • 버퍼 크기보다 더 많은 데이터를 넣으면 시스템이 망가짐

💡 BOF가 위험한 이유?

  1. 프로그램이 비정상적으로 종료될 수 있음
  2. 메모리 구조를 바꾸고, 프로그램 실행 흐름을 조작할 수 있음
  3. 해커가 이를 악용하면 임의의 코드를 실행 가능! (Exploit 가능)

🔥 결론

💡 "BOF는 원래 정해진 공간보다 더 많은 데이터를 넣어서 넘쳐버리는 것"
💡 "컵에 물을 너무 많이 따르거나, 엘리베이터 정원을 초과하는 것처럼 생각하면 이해하기 쉬움"
💡 "해킹에서는 BOF를 악용해서 프로그램을 조작하고, 원하는 코드를 실행할 수 있음" 🚀

이제 BOF 개념이 확실히 이해됐을 거예요! 😎🔥

'Study > System' 카테고리의 다른 글

GOT(Global Offset Table)  (0) 2025.02.18
보호 기법(Exploit Mitigation)  (0) 2025.02.18
OOB(Out of Bounds)  (0) 2025.02.18