임의의 카나리가 안덮어지는 이유?
pthread 호출후, input에서 강의 처럼 find를 이용, 카나리 값을 구하고 그 주소에서 stack의 시작부분(값을 입력했을때의 첫 주소)뺀 값을 offset삼아서 stack시작부분 + (canary - stack시작주소)에 임의의 카나리를 넣어놓고 exit에서 보면 카나리가 덮어씌워지지 않습니다.
혹시 어떤게 문제일가요?
#pwnable
작성자 정보
답변
1
snwo
2024 Invitational Contenders
덮을 수 있는 카나리는 스레드스택에 있는 카나리 입니다. 메인스레드에서의 카나리값이랑 동기화되지 않습니다.