2024/10/06 3

DreamHack System- Stack Canary

#include int main() { char buf[8]; read(0, buf, 32); return 0;}canary.c 파일 코드 gcc -o no_canary canary.c -fno-stack-protector 명령어로 컴파일하면,no_canary 실행 파일이 생성되며 이 과정에서 스택 보호 기능이 비활성화됨이후 프로그램을 실행하고 긴 입력값을 넣으면,코드 특성상 스택 버퍼 오버플로우가 발생하게 됨 $ ./no_canaryAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASegmentation fault (core dumped)$ ./canaryAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA*** stack smashing detected *..

카테고리 없음 2024.10.06

DreamHack System- ssp_001

ssp 방어 기법을 우회해 flag 파일을 읽어 정답을 획득해야한다.문제를 풀기 전에 스택 카나리에 대해 알아야한다.    스택 버퍼 오버플로우로부터 반환 주소를 보호하는 보호기법  스택 카나리는 함수의 프롤로그에서 스택 버퍼와 반환 주소 사이에 임의의 값을 삽입하고,함수의 에필로그에서 해당 값의 변조를 확인하는 보호 기법카나리 값의 변조가 확인되면 프로세스는 강제로 종료됨  #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1);}void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); ..

카테고리 없음 2024.10.06