Layer7 과제/포너블 27

[포너블] leak_canary

이 문제는 카나리 보호 기법을 우회하는 문제이다. 문제 분석을 위해서는 main()의 do-while문의 내용을 주의깊게 살펴보아야 한다. do-while문의 앞서, buf의 주소가 출력된다. 그리고 do-while문을 보면 다음과 같다. "Input MSG : "가 출력되고, 0x100만큼 buf에 입력을 받는다. 이는 buf의 크기보다 크기 때문에 bof가 가능하다. 다음으로는 buf가 출력되는데, 이로써 입력했던 값을 확인할 수 있다. "quit? "가 출력되고, v4에 문자를 입력받는다. 그리고 v4에 입력된 문자가 'q'이면 do-while문이 종료된다. 이 문제의 핵심은 카나리 기법을 우회하는 것이다. 카나리 기법이란 버퍼 뒤에 sfp 전에 32bit이면 4byte, 64bit이면 8byte의..