-Computer Theory
[System] FSB .dtors란?
guswlsdk
2018. 1. 30. 14:33
반응형
1. .dtors
포맷 스트링 버그(이하 FSB)에서 사용하는 부분이다.
gcc는 컴파일 할 때 .ctors 와 .dtors 두 영역을 생성한다고 한다.
.ctors는 main() 전에 실행되고
.dtors는 main() 종료 후에 실행된다.
FSB 기법을 사용할 때는 .dtors 함수가 실행되기 전(main이 끝나기 전)에 쉘 코드 주소를 덮는다.
그렇게 되면 main()이 끝날 쯤 .dtors가 아닌 쉘코드를 실행하게 되는 것이다.
08049594가 main() 문이 끝나고 실행되는 .dtors 함수 주소이다.
즉, main문이 끝나기 전 0x8049594 + 4 = 0x8049598에 쉘코드를 덮으면 된다.
반응형