임의의 카나리가 안덮어지는 이유?

pthread 호출후, input에서 강의 처럼 find를 이용, 카나리 값을 구하고 그 주소에서 stack의 시작부분(값을 입력했을때의 첫 주소)뺀 값을 offset삼아서 stack시작부분 + (canary - stack시작주소)에 임의의 카나리를 넣어놓고 exit에서 보면 카나리가 덮어씌워지지 않습니다.
혹시 어떤게 문제일가요?

#pwnable
작성자 정보
답변 1
avatar
snwo
2024 Invitational Contenders

덮을 수 있는 카나리는 스레드스택에 있는 카나리 입니다. 메인스레드에서의 카나리값이랑 동기화되지 않습니다.

2020.09.28. 09:49
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기