분류 전체보기
-
[Header] HTTP - User-agentHacking/CTF 문제 풀이 2025. 7. 7. 23:26
ProblemUser-Agent를 조작하여 검증을 우회 하세요.Working through problems문제를 살펴보니 서버가 HTTP 요청의 User-Agent 값을 검사하여 이를 기반으로 접근을 제어하는 방식으로 구현되어 있습니다.그러나 User-Agent는 클라이언트 측에서 쉽게 조작이 가능한 헤더로 이를 신뢰하여 인증 또는 인가를 수행하는 것은 보안상 매우 취약한 설계에 해당합니다.1. Header 조작 후 테스트Header에 User-Agent=admin을 추가하여 요청을 보냈습니다.curl -H "User-Agent: admin" http://challenge01.root-me.org/web-serveur/ch2/결과는 다음과 같았습니다. Welcome master! Password: 비밀번호
-
[Open Redirect] HTTP - Open redirectHacking/CTF 문제 풀이 2025. 7. 3. 20:30
Problem웹 페이지에 표시된 도메인이 아닌 다른 도메인으로 리디렉션하는 방법을 찾으세요.Working through problems1. 페이지 구조 확인우선 페이지가 어떻게 구성되어 있는지 개발자 도구(F12)를 통해 구조를 확인했습니다. Social Networks facebook twitter slack눈에 띄는 부분은 링크들이 모두 ?url=...&h=... 형태로 되어 있다는 점입니다.url은 리디렉션할 대상 URL, h는 아마도 해시(hash) 값으로 추정됩니다.2. 임의의 URL로 테스트url 파라미터만 바꾸면 리디렉션이 가능하지 않을까 싶어 다음과 같이 시도해봤습니다.$ curl "http://challenge01.root-me.org/web-serveur/ch52/?ur..
-
[X-Forwarded-For] HTTP - IP Restriction BypassHacking/CTF 문제 풀이 2025. 7. 3. 20:00
Problem사설 IP가 아니기 때문에 로그인을 해야 합니다.Working through problems우선 사설 IP 대역을 알아야 합니다.1. 사설 IP 대역 (Private IP ranges)이 대역들은 인터넷 공인 네트워크에서 사용되지 않고, 내부 네트워크(LAN)에서만 사용됩니다.10.0.0.0 ~ 10.255.255.255 (10/8 prefix)172.16.0.0 ~ 172.31.255.255 (172.16/12 prefix)192.168.0.0 ~ 192.168.255.255 (192.168/16 prefix)2. Header 조작을 통한 접근 시도웹 서버가 클라이언트의 IP를 판단하는 데 사용하는 X-Forwarded-For 헤더를 조작할 수 있습니다.$ curl -H "X-Forward..
-
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 쿼리에 그대로 포함시켜 실행되는 보안 취약점으로 의도하지 않은 쿼리를 주입..