일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- System
- C
- windosws wbcs
- Stack
- 큐
- ftz
- LoB
- 스택
- HTML
- 백준
- 파일 시스템
- 정렬 알고리즘
- web
- 재귀
- War Game
- level13
- 미로 탐색 알고리즘
- windosw 문자열
- c언어
- 파이썬
- OSI
- SWiFT
- 암호수학
- 자료구조
- Java
- PHP
- pwnable.kr
- 두근두근 자료구조
- ftz level13
- 시간복잡도
Archives
- Today
- Total
나의 기록, 현진록
[System] FSB .dtors란? 본문
반응형
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 |