나의 기록, 현진록

[System] FSB .dtors란? 본문

-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에 쉘코드를 덮으면 된다.

반응형

'-Computer Theory' 카테고리의 다른 글

[System] Stack layout  (0) 2018.02.11
[System] 쉘코드 모음  (0) 2018.02.11
[System] 8086 레지스터 구조  (0) 2018.01.22
[Linux] setuid  (0) 2018.01.17
[System] 변수의 메모리 주소 비교  (0) 2018.01.13