분류 전체보기
-
Port 53에서 시작되는 은밀한 통신 DNS 이야기Hacking/개념 및 이론 2025. 7. 2. 20:06
우리는 주소창에 google.com을 입력하면 당연하다는 듯 구글 홈페이지가 열리는 간편한 세상에 살고 있습니다.하지만 그 평온한 화면 뒤에서는 Port 53을 통해 흐르는 은밀한 DNS(Domain Name System) 요청이 조용히 일을 처리하고 있습니다.이제 부터 DNS에 대한 기본 개념과 동작 원리, 그리고 공격자가 사용할 수 있는 기본적인 방식을 알아보겠습니다.1. DNS란 무엇인가?DNS는 도메인 이름을 IP 주소로 변환하는 시스템 입니다.사람이 기억하기 쉬운 도메인 이름(google.com)을 컴퓨터가 이해하는 숫자형 IP 주소(172.217.161.206)로 바꿔 주는 역할입니다.2. DNS 동작 원리2-1. DNS 조회 과정1. 사용자가 브라우저에 google.com 주소를 입력하고 요..
-
[Java] Thread에 대해 알아보자JAVA 2025. 6. 26. 18:29
Java에서 Thread는 어플리케이션에서 실행되는 가장 작은 단위의 작업 흐름을 의미합니다.하나의 Process는 N개의 Thread를 가질 수 있으며 N개의 Thread가 동시에 실행되는 환경을 Multi-Thread라고 합니다.Java는 대표적인 Multi-Thread 환경이며 여러 작업을 병렬 처리하여 자원을 효율적으로 사용할 수 있는 장점이 있지만 동기화 문제와 교착 (Dead Lock) 상태 같은 문제들을 발생 할 수 있습니다.Thread 종류Java Thread는 크게 동작 방식과 역할에 따라 2가지로 분류할 수있습니다.1. User Thread백그라운드에서 동작하며 주요 로직을 수행하는 스레드를 의미합니다.JVM은 모든 User Thread가 종료될 때까지 기다렸다가 종료됩니다.하나라도 남..
-
[웹 보안의 기초 정리] Cookie, SameSite, CORS, ACAOHacking/개념 및 이론 2025. 6. 23. 18:18
🍪 Cookie는 어디에 저장되고, 어떻게 동작할까?브라우저는 서버로부터 받은 Cookie를 도메인 + 경로(Path) 기준으로 저장해요.예를 들어 www.test.com 서버가 /user/profile 주소로 응답하면서 Path=/user/로 설정된 쿠키를 보냈다면 해당 쿠키는 www.test.com/user/로 시작하는 모든 요청에 자동으로 포함됩니다.브라우저는 Set-Cookie 응답 헤더를 통해 서버가 보낸 쿠키를 Origin 기반 저장소에 보관합니다.Set-Cookie: token=abc123; Path=/users; HttpOnly; Secure; SameSite=Lax;항목설명Domain해당 쿠키가 유효한 도메인 (기본: 응답한 도메인)PathURL 경로 조건 (기본: 현재 경로 이하)Se..
-
[A03:2021 - Injection] SQL Injection을 이용한 사용자 계정 정보 탈취 - Error Based SQL InjectionHacking/CTF 문제 풀이 2025. 6. 18. 14:20
Error-Based SQL Injection은 SQL 쿼리 실행 중 발생하는 오류 메시지를 기반으로 데이터베이스 구조 및 민감 정보를 탈취하는 공격 기법으로 사용자의 입력값을 검증 없이 쿼리에 포함시킬 경우 발생하는 보안 취약점으로 의도하지 않은 SQL 구문이 실행되어 민감 정보가 유출될 수 있습니다.☑️ 사전 참고SQL Injection에 대한 기본 개념과 다양한 유형이 궁금하다면 아래 글을 먼저 참고하세요. [웹 취약점 실습] SQL Injection을 이용한 사용자 계정 정보 탈취 - Blind SQL Injection, General SQL InjectionSQL Injection은 사용자의 입력값을 검증하지 않고 SQL 쿼리에 그대로 포함시켜 실행되는 보안 취약점으로 의도하지 않은 쿼리를 주입..
-
[Redis] Caching 전략 및 가이드Redis 2025. 6. 18. 02:27
Database는 애플리케이션의 핵심이지만 잦은 데이터 조회는 성능 저하 & 부하를 일으킬 수 있습니다.Cache는 자주 사용하는 데이터를 메모리에 저장하여 Database 조회 비용과 응답 시간을 줄임으로써 위에 있는 문제를 해결하는데 중요한 역할을 합니다.목적 : Cache는 Memory Access이고 Database는 I/O 작업이기 때문에 훨씬 빠르게 조회 가능 및 부하 감소한계 : Cache와 Database 간 불일치 가능성 존재Redis Caching 전략데이터를 어떻게 저장하고 Database와 어떻게 동기화할지에 따라 크게 3가지로 나눠질 수 있습니다.✔️ Cache Aside (Lazy Loading)가장 보편적으로 사용되고 구현하기 쉬운 전략 중 하나입니다.이름처럼 애플리케이션이 캐..
-
[A03:2021 - Injection] SQL Injection을 이용한 사용자 계정 정보 탈취 - Blind SQL Injection, General SQL InjectionHacking/CTF 문제 풀이 2025. 6. 17. 23:10
SQL Injection은 사용자의 입력값을 검증하지 않고 SQL 쿼리에 그대로 포함시켜 실행되는 보안 취약점으로 의도하지 않은 쿼리를 주입(Injection)하여 데이터를 탈취하거나 조작하는 공격입니다.최근에는 다양한 방어 기법과 ORM 기술들이 적용되며 SQL Injection에 대한 대응이 개선되고 있지만 레거시 시스템에서는 여전히 이 취약점이 존재하는 경우가 많습니다.특히 오래된 프로젝트는 구조적으로 보안 업데이트가 어려운 경우가 많아 현실적인 보안 리스크로 여겨지고 있습니다.이러한 이유로 OWASP Top 10에서도 Injection은 가장 심각하고 빈번하게 발생하는 보안 취약점 중 하나로 분류되어 3위(A03:2021)를 차지하고 있습니다.해당 항목에는 SQL Injection뿐 아니라 Cro..
-
[A03:2021 - Injection] Command Injection (Low~High) - PHPHacking/CTF 문제 풀이 2025. 6. 15. 23:42
DVWA(Damn Vulnerable Web Application)는 웹 애플리케이션 보안 실습을 위한 플랫폼입니다.이번 글에서는 Command Injection 취약점 중 Low ~ high 보안 등급에서의 동작을 살펴보고 실제 공격 시나리오와 취약점 원인을 PHP 코드로 분석합니다.Command Injection 이란?사용자 입력값이 서버의 명령어 실행 함수에 그대로 전달되어 임의 명령어를 실행할 수 있게 되는 취약점입니다.공격자는 시스템 명령어를 삽입하여 파일 탐색, 시스템 정보 탈취, 권한 상승 등을 시도할 수 있습니다.🔓 Low 보안 등급{$cmd}";}?>취약점 분석shell_exec() 함수는 인자로 전달된 문자열을 OS 명령어로 실행하고 결과를 반환합니다.사용자 입력값 $_REQUEST[..