티스토리 뷰
반응형
기본적으로 각 함수들은 라이브러리별 offset이 정해져있다. (라이브러리별로 차이가 있다.)
이걸 이용해서 해당 서버가 어떤 라이브러리를 사용하고 있는지를 알아낼 수 있다.
- "./get" 명령어로 라이브러리 데이터베이스를 최신화한다.
- 어떤함수든 Memory Leak을 이용해서 실제 서버에서 올라간 함수의 주소를 찾는다.
(결국 이 과정이 가능해야 아래를 진행할 수 있다 !!!) - "./find [함수명] [Leak 주소]" 를 통해 해당 라이브러리의 id를 조회한다.
(사실상 Leak 주소의 하위 3bit만 있으면 된다.) - "./dump [id]" 위에서 조회한 id를 통해 dump하면, 대표적인 함수들의 offset이 나온다.
- 추가로 "./dump [id] [함수명]" 으로 특정 함수의 offset을 구할수도 있다.
최초에 Leak했던 주소에서 이 과정을 통해 구한 offset을 빼면 해당 서버에서 사용중인 라이브러리의
libc-base Address를 구할 수 있다.
반응형
'Pwnable > Misc' 카테고리의 다른 글
[Misc] ELF 파일구조 (0) | 2019.05.12 |
---|