cdecl, stdcall, fastcall, SYSTEM V
스택 오버플로우는 입력받는 버퍼의 길이를 검사하지 않아 연속적인 메모리 특성상 다른 값의 변조 위험이 생기는 것을 의미합니다. 특히 버퍼에 명령어를 입력한 후 Return Address를 명령어를 입력한 버퍼로 변조 한후 버퍼에 입력된 명령어를 실행시킬 수 있어 오버
Canary는 오버플로우 취약점으로부터 메모리를 보호하기 위해 사용되는 방법 중 하나 입니다. 그 중 Stack Canary 는 SFP 아래(낮은 주소)에 삽입하고, 해당 값의 변조를 확인하여 보호하는 방법입니다. Stack Canary가 스택을 보호하는 방법 스택 카나리의 동작을 확인하기 위해서 스택 카나리가 적용된 ELF 파일을 생성하도록 하겠습니...
ASLR & NX
지난 포스팅에서는 "/bin/sh"가 미리 정의되어 있고 plt에 system 함수가 등록이 되어있는 상태에서 익스플로잇을 진행했었습니다. 그러나 리얼 월드에서는 보안상의 이유로 system 함수의 사용이 지양되고 또한 "/bin/sh" 문자열을 정의하는 경우가 거의 없습니다. 따라서 이번 포스팅에서는 리얼월드와 거의 비슷한 코드환경에서 ROP(Retu...