read_got 주소를 얻는 과정에서....

강의에서 나온 실습과정에서는 puts(read_got)을 통해서 read의 주소를 얻어서 library base 주소를 얻습니다.

여기서 의문인점은

  1. read_got = e.got[read_got]에서 read_got은 offset인가요 아님 실제 주소인가요?
  2. puts(read_got)에서 read_got을 offset이라고 하면 어떻게 이과정에서 read의 실제 주소를 얻을 수 있는건가요? puts(offset)을 통해서 실제 주소(VA)를 얻는 과정이 궁금합니다.
#시스템_해킹 #공격기법 #rop
작성자 정보
답변 1
Hmin
강의 수강: 10

e.got[read]은 read의 got 주소를 뜻합니다.
이 got 주소 안에 read의 주소가 있는 것이죠.

puts로 출력할 수 있는 이유는 puts에서 인자를 받을때 포인터를 전달해주기 때문에
read의 got 주소를 넘겨주면 read의 주소를 출력해 주는 것입니다.

image.png

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