[DreamHack워게임] ssp_001
작성자 정보
- za9uar 작성
- 작성일
본문
Stack Smash Protection(SSP)
- Canary를 이용한 Stack BufferOverflow 보호 기법
- 연관 함수는 __stack_chk_fail
- - gcc에 자동 활성화되며, 끄는 옵션은 -fno-stack-protector
- ex) gcc -fno-stack-protector -o test test.c
Canary 로직
- 랜덤으로 생성된 카나리를 Overflow 유/무의 잣대로 사용
- 스레드별 전역 변수로 사용되는 TLS (Thread Local Storage)에 저장
- _dl_allocate_tls_storage 함수에서 __libc_memalign 함수를 호출해서 할당
Bypassing SSP
- Canary Leak을 통해 Canary 값을 미리 알아놓고 SSP 로직을 우회한다
Canary Leak
- buf 배열부터 스택 카나리 + 1까지 Offset을 구한다
# checksec
- Canary가 존재함
관련자료
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.