Offset 0x3ebc42 질문입니다.

Offset 값을 찾아 보려고 해도, __malloc_free 로도 맞지 않는데,
어떻게 구했는지 알수 있을까요?

#pwnable
작성자 정보
답변 1
avatar
Dreamhack
대표 업적 없음

안녕하세요,
offset 은 처음부터 정해지는 절대적인 수치가 아니라
먼저 libc address leak 이 발생한 후에, 이 값과 libc base 주소 값의 차이를 구한 것이 offset입니다.

자신의 환경에서는 leak 되는 데이터의 주소가 달라질 수도 있으니 당연하게 offset도 달라질 수 있습니다.
문제에서 주어진 libc와, 본인 환경의 libc가 다를 경우에는

r = process(bin_name, env = {"LD_PRELOAD" : "./libc-2.27.so"}) 와 같은 방식으로 특정 libc를 사용할 수 있도록 지정할 수 있습니다.
이 libc 가 어떻게 다른지는 md5sum LIBC_FILE_NAME 을 통해 해쉬값으로 구별할 수 있습니다.

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