분류 전체보기
-
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/; } ..
-
Nginx - Alias MisconfigurationHacking/CTF 문제 풀이 2025. 7. 7. 23:49
Working through problems웹 서버(http://challenge01.root-me.org:59092/)에 접속 시, 기본 로그인 페이지가 노출되는 것을 확인하였습니다. Nom d'utilisateur: Mot de passe: 로그인 페이지 내에 라는 주석이 포함되어 있어 /assets/ 경로에 취약점이 있을 가능성을 유추할 수 있었습니다.curl을 이용해 /assets/ 경로에 GET 요청을 보내자 다음과 같이 빈 디렉토리 인덱스 페이지가 출력되어 별다른 파일이나 하위 디렉토리가 노출되지 않는 것을 확인했습니다.$ curl -X GET http://challenge01.root-me.org:59092/assets/Index ..
-
Install filesHacking/CTF 문제 풀이 2025. 7. 7. 23:46
Working through problems웹 서버는 응답할 때 클라이언트의 성능 향상을 위해 ETag 기반 캐시 처리를 수행합니다.클라이언트가 If-None-Match 헤더를 포함하여 요청하면 서버는 ETag 값이 동일할 경우 304 Not Modified를 반환하며 본문을 생략하지만 이 캐시 제어는 Burp Suite 등의 도구를 통해 쉽게 우회할 수 있고 그로 인해 평소 브라우저에서는 보이지 않던 HTML 주석 내 내부 경로나 민감 정보가 노출될 수 있습니다.✅ 캐시 포함 요청GET /web-serveur/ch6/ HTTP/1.1Host: challenge01.root-me.orgAccept-Language: ko-KR,ko;q=0.9Upgrade-Insecure-Requests: 1User-Age..