Unit 설명
PLT/GOT로 함수 주소가 연결되는 과정을 이해하고, GOT 엔트리를 덮어 함수 호출 목적지를 바꾸는 방법을 배웁니다.
학습목표
이런 내용을 배워요
- 지연 바인딩으로 GOT에 라이브러리 함수 주소가 기록되는 과정
- PLT가 GOT의 값을 따라 함수 호출 목적지를 정하는 원리
- 누수한
puts()주소로 libc의system()주소를 계산하는 방법 - 임의 쓰기로
puts@got을 바꿔system()을 호출하는 실습
이런 분께 추천해요
- PLT/GOT의 실행 흐름을 실제 바이너리에서 확인하고 싶은 분
- 주소 누수와 임의 쓰기를 연결한 익스플로잇을 연습하고 싶은 분
이런 선수 지식이 필요해요
- 동적 링크와 PLT/GOT의 기본 구조
- libc base와 offset을 이용한 주소 계산
이런 환경을 기준으로 설명해요
- x86-64 리눅스 환경
구성
동적 심볼 해석과 PLT/GOT
Background: PLT/GOT 심화
[함께 실습] GOT Overwrite
Exploit Tech: GOT Overwrite
GOT Overwrite
평점
Unit의 모든 항목을 완료한 후 평가할 수 있습니다.
GOT Overwrite
0% 진행중
총 0개 항목 완료
강의
0 /2
워게임
0 /1
1
Lab은 실습 개념으로, 전체 진도율에 포함되지 않아요.