Hacking/System technique
Memory Leak & Stack Canary
r00t0k
2016. 3. 9. 18:02
1) Stack smashing detected 메세지로 카나리값 릭 하기
Stack(buffer)가 있고 카나리가 있을때에 1bye씩 오버시키며 브루스포싱 하기
buffer뒤에 canary가 있을시 buffer를 다채우고 1byte를 오버시키면 Stack smashing detected메세지가 뜨게되며 프로그램이 강제종료된다. 그 1byte를 오버시키는값을 0x00 ~ 0xff까지 브루트포싱한다면 Stack smashing detected메세지가 뜨지않는 1byte의 canary를 알수있다. 1byte의 canary값을 알게되면, buffer + 1byte의 canary값 + 0x00 ~ 0xff의 브루트포싱해 또 1byte의 canary값을 알 수 있게된다. 이런식으로 canary값을 브루트포싱한다면 buffer + canary 값의 완전체를 알수 있을것이고 exploit이 가능하게된다.
예제파일 미아!