objdump 섹션 주소 읽는 방법이 궁금합니다.

본 강의의 FULL RELRO에 대한 설명의 페이지(2-4)에서 frelro를 실행하여얻은 메모리맵과 objdump -h를 이용해 섹션 헤더 정보와 비교하여 Full RELRO 때는 got에는 쓰기 권한이 제거되어 있다고 말합니다.

그런데 objdump -h frelro 실행 결과를 보면

Sections:
Idx Name Size VMA LMA
File off Algn
.
.
.
21 .got 00000058 0000000000200fa8 0000000000200fa8
00000fa8 2**3

이렇게 출력 됩니다.

저는 VMA(Virtual Memory Address)가 섹션의 주소라고 생각했지만, 바이너리의 메모리 맵과 비교했을 때 그건 맞지 않는 것 같았습니다.

어떻게 objdump -h를 통해 얻은 섹션 헤더 정보를 해석해야 강의에서 나온 결론에 맞게 이해할 수 있을 까요?

#시스템_해킹 #배경지식
작성자 정보
답변 1
avatar
wyv3rn
무플 방지 위원회장

음... 강의에서는
쓰기 권한이 있는 영역을 출력하도록 코드가 구성되어있고, 이를 실행하여 쓰기 영역을 확인한 다음 objdump로 각 영역의 주소와 비교합니다.

아마 말씀하신 부분은 aslr로 인해 다르게 출력된게 아닐까 싶은데...

둘을 함께 출력하신걸 보여주시면 조금 더 정확한 설명을 드릴 수 있을 것 같습니다.

2023.02.24. 06:32
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기