4

이해가안됩니당!

우선 제가 아는대로 설명드리자면
got 를 overwrite 해서 get_shell 함수를 실행하게끔 만들어야함.
buf 입력으로 카나리를 변조시켜 __stack_chk_fail 함수를 실행시킴.
__stack_chk_fail 함수의 got 를 get_shell 함수주소로 overwrite함.

여기서 궁금한게 있습니다.
풀이를 봤는데 addr에 __stack_chk_fail 함수 got 주소를 넣고
value에 get_shell 함수 주소를 넣더라구요.
addr, value 에 저렇게 값을 넣는다고 __stack_chk_fail 함수 실행하고 got가 value 값을 참조해서 get_shell 함수를 실행하게 되는부분이
이해가 안되네요…

답변 0개