전체 글 367

보호기법 실습

오 좋은 포인트 짚었어!네가 지금 보고 있는 cat /proc/sys/kernel/randomize_va_space 값은📌 ASLR (Address Space Layout Randomization) 설정이야.🔐 randomize_va_space 값 의미값 의미0ASLR 비활성화 — 주소 고정됨1부분 랜덤화 — mmap 영역만 랜덤2완전 랜덤화 (기본값) — 스택, 힙, mmap, 라이브러리 등 거의 모든 주소 랜덤🔢 네가 본 2는?👉 현재 ASLR이 활성화된 상태란 뜻이야.즉:스택 주소라이브러리 주소 (libc, ld-linux, etc)힙 영역mmap() 등으로 할당된 영역이런 것들이 매 실행마다 주소가 랜덤으로 바뀌어.🧪 실험적으로 확인해보고 싶으면?$ for i in {1..5}; do ...

Study/System 2025.04.10

까리니..아니 canary

// Name: canary.c#include int main() { char buf[8]; read(0, buf, 32); return 0;}        __stack_chl_fail@plt 확인가능   0x00000000000006b2 : mov rax,QWORD PTR fs:0x28 0x00000000000006bb : mov QWORD PTR [rbp-0x8],rax 0x00000000000006bf : xor eax,eax  fs는 tls를 가르키는 포인터 tls는 카나리랑 다른 프로세스 실행에 필요한 데이터들이 있는 저장소  0x000000000000119f : mov rdx,QWORD PTR [rbp-0x8] 0x0..

Study/System 2025.04.10

스택 구조의 한계, SBO, 쉘코드 그리고 sysv 함수 호출 규약

혼자 공부하면서 학습노트 작성 中  1. Stack 구조의 한계 스택 구조의 한계는 "고정"이었다.tack buffer overflow에서 대해서 알아보자!스택은 고정된 공간이기 때문에 과도한 데이터 입력 시 다른 중요한 값(리턴 주소 등)을 덮어쓸 수 있는 버퍼 오버플로우가 발생할 수 있습니다. 이는 프로그램 흐름을 조작하는 공격으로 이어집니다.스택프레임에 대해, 저는 이전에 방청소를 비유를 들었었는데요. 작업대를 그때 다시 들고온다면함수가 실행되면 내 전용 책상(스택 프레임) 이 생깁니다여기에 재료(지역 변수) 와 도구(리턴 주소 등) 를 올려놓고 작업을 합니다다른 함수를 호출하면? 그 위에 또 하나의 책상이 생기죠함수를 마치면? 책상을 치우고 원래 자리로 돌아가는 구조입니다 (leave ret)근데..

Study/System 2025.04.07