분류 전체보기
-
java.util.concurrent.locksJAVA 2025. 7. 17. 18:06
java.util.concurrent.locks 패키지는 내장된 동기화(synchronization) 및 모니터(monitor) 기능과는 구별되는 락(lock)과 조건(condition) 대기를 위한 프레임워크를 제공하는 인터페이스 및 클래스들로 구성되어 있습니다. 구문(syntax)이 다소 복잡해지는 대가로 락과 조건 변수 사용에 있어 훨씬 더 유연한 방식을 허용합니다.Lock Interface : 유연한 동시성 제어를 위한 핵심 도구주요 구현체 : ReentrantLockLock 인터페이스는 재진입, 공정성 등 다양한 락 제어 방식을 지원하며 synchronized처럼 코드 블록 단위로만 락을 거는 방식과 달리 필요한 시점에 직접 락을 걸고 해제할 수 있기 때문에 노드 하나씩 이동하며 락을 넘겨주는 ..
-
WiFi 접속 시 DHCP 작동 원리와 OSI 7계층 흐름Hacking/개념 및 이론 2025. 7. 17. 16:13
WiFi에 접속하고 웹사이트에 접속하는 과정은 다음과 같은 단계들을 거칩니다.1. WiFi 접속사용자가 WiFi에 접속하게 되면 어떻게 사설 IP를 부여 받는지 설명합니다.1-1. DHCP Discover사용자가 WiFi에 연결을 시도하면 가장 먼저 자신에게 할당될 IP 주소를 찾기 위해 DHCP Discover 메시지를 브로드캐스트(Broadcast) 방식으로 전송하게 되는데 이 과정을 아래에서 OSI 계층 모델을 통해 이해하기 쉽게 살펴 보겠습니다.4️⃣ Transport Layer (4계층)DHCP는 빠른 요청과 응답이 중요하기 때문에 UDP를 사용합니다.DHCP Discover 메시지를 보내는 사용자는 UDP 68번 포트를 사용하고 이 메시지를 수신할 DHCP 서버를 위해 UDP 67번 포트를 목..
-
XPath injection - AuthenticationHacking/CTF 문제 풀이 2025. 7. 12. 19:18
Working through problems이 문제는 DOM 기반의 XML 인증 로직에서 발생할 수 있는 XPath Injection 취약점을 활용하여 인증 우회를 수행하는 문제입니다.서버는 내부적으로 PHP의 SimpleXMLElement::xpath() 메서드를 이용해 XPath 표현식을 평가합니다.DOM 방식은 XML 전체를 메모리에 적재한 뒤 XPath를 사용하여 특정 노드를 탐색하며 이때 사용자 입력이 XPath 쿼리에 삽입되는 구조라면 Injection이 가능합니다.동작 방식 유추오류 메시지 및 함수 이름을 통해 내부적으로 사용된 XPath 구문은 다음과 유사할 것으로 추정됩니다:xpath("//user[username/text()='$id' and password/text()='$pw']")..
-
PHP - SerializationHacking/CTF 문제 풀이 2025. 7. 11. 10:12
Working through problems✅ Source CodeRestricted Access$message";// admin ?if($_SESSION['login'] === "superadmin"){ require_once('admin.inc.php');}// user ?elseif (isset($_SESSION['login']) && $_SESSION['login'] !== ""){ require_once('user.inc.php');}// not authenticated ? else {?>Demo mode with guest / guest !superadmin says : New authentication mechanism without any database. Our source c..
-
CRLFHacking/CTF 문제 풀이 2025. 7. 10. 10:11
Working through problemsCRLF(Carriage Return + Line Feed, %0D%0A) 인젝션을 이용해 서버 로그에 인증 성공 로그를 조작하여 인증 우회를 시도하는 문제입니다.문제를 시작하면 다음과 같은 서버 로그 출력 형식이 주어집니다.admin failed to authenticate.admin authenticated.guest failed to authenticate.서버는 로그인 요청에 대해 결과 로그를 남깁니다.특정 문자열 admin authenticated.가 로그에 존재할 경우 인증된 것으로 간주되고 플래그를 반환할 것으로 추정됩니다.먼저 브라우저에서 일반적인 로그인을 테스트 해봤습니다.admin / admin로그인은 실패했고 아래와 같이 로그가 추가된다.ad..
-
File upload - Double extensionsHacking/CTF 문제 풀이 2025. 7. 9. 10:09
Working through problems확장자 기반 필터링을 우회하여 악성 스크립트를 서버에 업로드하고 실행하는 문제입니다.파일 업로드 폼은 아래와 같이 구성되어 있습니다. 문제에서는 PNG, GIF, JPEG 확장자만 허용됩니다..php 등의 스크립트 파일은 기본적으로 업로드가 불가능합니다.원격 명령 실행이 가능한 PHP 웹쉘 test.php를 준비합니다.이 파일을 정상적으로 서버에 업로드하는 것이 목표입니다.test.php 파일을 직접 업로드하면 "Wrong file type !" 메시지가 출력되며 차단되는걸로 봐서 확장자 검사 또는 MIME 타입 검사 등이 서버에서 동작한다는걸 알 수 있습니다.업로드 요청을 브라우저에서 보내는 대신 Burp Suite Proxy로 가로채서 조작하여 업로드 해도..
-
File upload - MIME typeHacking/CTF 문제 풀이 2025. 7. 8. 11:08
Working through problems파일 업로드 취약점을 이용한 원격 코드 실행(RCE)후 서버 내부 파일을 열람하는 문제입니다.특히 MIME 타입 검사 우회를 통해 악성 스크립트가 서버에 업로드되어 실행되는 점이 핵심입니다.파일 업로드 폼은 아래와 같이 구성되어 있습니다. 문제에서는 PNG, GIF, JPEG 확장자만 허용됩니다..php 등의 스크립트 파일은 기본적으로 업로드가 불가능합니다.원격 명령 실행이 가능한 PHP 웹쉘 test.php를 준비합니다.이 파일을 정상적으로 서버에 업로드하는 것이 목표입니다.test.php 파일을 직접 업로드하면 "Wrong file type !" 등의 메시지가 출력되며 차단되는걸로 봐서 확장자 검사 또는 MIME 타입 검사 등이 서버에서 동작한다는걸 알 수..
-
Nginx - Root Location MisconfigurationHacking/CTF 문제 풀이 2025. 7. 7. 23:53
Working through problemsNginx 서버 설정에서 잘못된 root 경로 지정으로 인해 웹 서버의 설정 파일들이 외부에 노출되는 보안 취약점을 이용하는 문제입니다.웹 서버에서는 아래처럼 Nginx 설정하고 있습니다.server { listen 80; server_name _; root /etc/nginx; location = / { return 302 /login/login.html; } location /login/ { alias /usr/share/nginx/html/login/; } location /static/ { alias /var/www/app/static/; } ..