제가 제대로 이해했는지 궁금합니다...

해당 문제의 익스플로잇 코드에서 페이로드를 작성할 때

payload = p32(exit_got + 2) + p32(exit_got) + "get_shell의 주소값 - 0x8"

이런 구조로 작성하여야 성공적으로 exit_got에 get_shell의 주소를 덮어씌울 수 있다고 배웠습니다.

제가 궁금한것은

  1. p32(exit_got + 2) + p32(exit_got) 이렇게 한 이유는 get_shell의 주소가 한번에 넣기에 너무 커서 그런건가요? get_shell의 주소도 4바이트인데 왜 굳이 exit_got의 주소를 2바이트씩 나누어서 2바이트 씩 덮어 씌우는 지 궁금합니다.
#pwnable
작성자 정보
답변 0
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기