symbol을 가져오기 위해서는 프로그램 내에서 적어도 한번은 사용되는 함수여야 한다. 이외의 값은 libc offset을 통해 주소를 찾아내서 사용해야한다.
libc에서 offset 찾기.
·
Tips & theory
pwnable 문제를 풀다보면 libc 파일을 제공해주는 경우가 다수 있다. 하지만 offset을 구할때 자꾸 헷갈리는 부분이 있어 다시 정리한다. pwntools로 찾기 해당 파일의 libc 버전 또는 경로를 확인해서 ┌──(kali㉿kali)-[~/Downloads/1279bf21-e0f3-46a4-b577-3c3955c458fb] └─$ ldd oneshot linux-vdso.so.1 (0x00007ffc07293000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f361f1f0000) /lib64/ld-linux-x86-64.so.2 (0x00007f361f5e1000) 간단한 파이썬 코딩으로 libc 파일의 offset 확인. from pwn..