Unit 설명
RELRO 설정별로 GOT가 보호되는 범위를 비교하고, 쓰기 가능한 다른 제어 데이터를 활용하는 사례를 살펴봅니다.
학습목표

이런 내용을 배워요

  • relocation 뒤 GOT의 쓰기 권한을 제한하는 RELRO의 원리
  • No RELRO, Partial RELRO, Full RELRO의 보호 범위 차이
  • ELF 정보와 메모리 맵에서 GOT의 권한을 확인하는 방법
  • Full RELRO 바이너리에서 구버전 glibc의 함수 훅을 살펴보는 사례
  • one_gadget의 실행 조건과 부분 반환 주소 덮어쓰기 실습

이런 분께 추천해요

  • GOT Overwrite가 막히는 조건을 직접 확인하고 싶은 분
  • 보호 기법에 따라 공격 가능한 제어 데이터가 달라지는 이유를 배우고 싶은 분

이런 선수 지식이 필요해요

  • PLT/GOT와 GOT Overwrite에 대한 이해
  • 주소 누수와 libc base 계산에 대한 이해

이런 환경을 기준으로 설명해요

  • x86-64 리눅스 환경
구성
RELRO의 보호 범위와 GOT 밖의 함수 포인터
Mitigation: RELRO
RELRO 적용 전후 비교
Full RELRO 이후의 공격 표면
[함께 실습] 구버전 glibc 훅 덮어쓰기
Exercise: hook
hook
[함께 실습] one_gadget
Exercise: oneshot
oneshot
평점
0.0 (0)
0
Unit의 모든 항목을 완료한 후 평가할 수 있습니다.
RELRO
0.0
(0)
Tier 1 Medium
0% 진행중 총 0개 항목 완료
강의 0 /5
워게임 0 /2
2
잠긴 강의는 플랜을 업그레이드하거나 Unit을 별도 구매하여 수강할 수 있어요.
Lab은 실습 개념으로, 전체 진도율에 포함되지 않아요.