해결된 질문
작성
·
316
0
답변 1
0
안녕하세요.
1. exp.c 에서 memset(rop,0x41,40); 를 해주고 있지만, 이후 rop[4] 부터 rop 가젯을 넣었기 때문에 실제론 40바이트가 아닌 32바이트의 더미 값만 들어가게 됩니다(32바이트 이후부터 커널 스택의 return address가 저장되어 있음).
2. 커널이 실행되고, init 스크립트로 인해 모듈이 등록된 후엔 /proc/kallsyms에서 모듈의 심볼을 확인할 수 있습니다.
init 스크립트를 수정하여 root권한으로 변경한 뒤, cat /proc/kallsyms | grep test_write 명령을 통해 함수의 주소를 확인할 수 있습니다.
오옹 빠른 답변 감사합니다ㅎㅎ