Stack Canary를 "랜덤 값 하나 넣어서 오버플로우를 막는 기법"이라고만 알면, 그 랜덤 값이 정확히 어디서 오고, 왜 이게 "오버플로우를 막는" 게 아니라 "오버플로우를 탐지만 하는" 기법…
2026-07-19 19:31:03 · 조회 24NX(NoeXecute)와 그걸 우회하는 Returntolibc/ROP를 이해하려면, "스택에 코드를 못 심게 막는다"는 설명보다 한 단계 더 내려가야 한다 — 이건 소프트웨어가 아니라 CPU의 M…
2026-07-19 19:31:03 · 조회 19ASLR(Address Space Layout Randomization)을 "주소를 랜덤화하는 보호 기법"이라고만 알면, 그 랜덤화가 정확히 커널의 어느 단계에서 이뤄지는지, 그리고 왜 정보 유출 …
2026-07-19 19:31:03 · 조회 23ROP는 NX 때문에 새 코드를 심을 수 없을 때, 바이너리나 라이브러리에 이미 존재하는 코드 조각들을 이어 붙여서 원하는 동작을 조립하는 기법이다. ret2libc가 "이미 있는 함수 하나를 호출…
2026-07-19 19:31:03 · 조회 24힙 익스플로잇(UAF/Double Free)을 "해제된 메모리를 다시 쓰면 위험하다"는 규칙으로만 알면, 왜 그게 위험한지를 설명 못 한다. 진짜 원인은 glibc의 메모리 할당자(ptmalloc)…
2026-07-19 19:31:03 · 조회 24pwntools는 Pwnable 익스플로잇을 작성할 때 사실상 표준으로 쓰이는 Python 라이브러리다. 프로세스/소켓 통신, 페이로드 조립, ELF 분석, ROP 체인 생성까지 반복적으로 필요한 …
2026-07-19 19:31:03 · 조회 16Pwnable(바이너리 익스플로잇)을 시작하기 전에 반드시 먼저 알아야 하는 게 프로그램이 메모리를 어떻게 쓰는지다. 이 개념 없이 익스플로잇 코드를 따라 치기만 하면 뭘 하고 있는지 이해가 안 된…
2026-07-19 19:28:48 · 조회 10스택 버퍼 오버플로우를 "긴 문자열 넣으면 터지는 버그"로만 알면, 왜 하필 함수가 끝나는 시점(ret 명령어)에 CPU가 실행 흐름을 리턴 주소로 넘겨주는지, 그리고 그 리턴 주소가 스택의 어느 …
2026-07-19 19:28:48 · 조회 11Format String 취약점을 "printf(buf)라고 쓰면 안 된다"는 규칙으로만 외우면, 왜 그게 문제인지, 그리고 왜 이 취약점 하나가 스택 버퍼 오버플로우보다 오히려 더 강력한 "임의 …
2026-07-19 19:28:48 · 조회 19SQL Injection을 "따옴표 하나 넣으면 뚫리는 취약점"으로만 알고 있으면, 왜 파라미터화된 쿼리는 절대 안전한지, 왜 어떤 DB는 SQLi 한 방으로 파일 시스템까지 내줘 버리는지를 설명할…
2026-07-19 19:15:17 · 조회 26