Study/CTF

    [Line CTF 2023] Web 7번: Another Secure Store Note

    LINE CTF 2023의 Web 분야 7번 문제 입니다. # 개요 다양한 취약점들이 복합적으로 적용된 문제입니다. 적용된 취약점: 1. 2022년 10월 Intigriti XSS 챌린지 - Object.defineProperty를 통한 document.domain 변조 - Object.defineProperty(document, 'domain', {get: () => "vuln.com"}); 2. Firefox의 Dangling Markup Injection 필터링 미흡 # 환경 및 사이트 구성 문제 파일을 다운받으면, 환경 구성 정보가 담긴 파일들과 소스 코드들이 있으나 환경 구성을 위한 Dockerfile이 없어서 문제 출제자가 외부로 오픈한 서버를 사용했습니다. 적당한 Username과 Passw..

    [Line CTF 2023 Write Up] WEB 3번: Imagexif

    LINE CTF 2023의 Web 분야 3번 문제 입니다. # 개요 이번에는 오픈 소스의 CVE 취약점을 이용한 문제입니다. # 환경 구성 일부러 문제점을 만든 문제가 아닌 실제로 존재하는 취약점을 이용해서 그런지 사이트를 제대로 구성한 모습입니다. Nginx와 Backend 사이트로 나뉘는 데 Nginx 서버는 Reverse Proxy 서버로 사용되는 듯 하고, 실제 서비스는 Backend 서버의 Python Flask에서 제공됩니다. 문제 파일을 다운받으면, Docker Image의 내용이 명시된 Dockerfile과 docker-compose.yaml 파일이 있습니다. 아래 명령어로 도커 컨테이너를 설치 및 실행시킬 수 있습니다. # DockerFile과 docker-compose.yaml 파일이 ..

    [Line CTF 2023 Write Up] WEB 4번: Adult Simple GoCurl

    이번 LINE CTF의 웹 분야 4번 문제 입니다. 1번 문제인 Baby Simple GoCurl 문제를 변형시킨 문제입니다. # 개요 이번에도 /flag/ 페이지에 접속하여 FLAG를 획득하는 SSRF 문제입니다. # 환경 구성 문제 파일을 다운받으면, Docker Image의 내용이 명시된 Dockerfile과 docker-compose.yaml 파일이 있습니다. 아래 명령어로 도커 컨테이너를 설치 및 실행시킬 수 있습니다. # DockerFile과 docker-compose.yaml 파일이 있는 # 디렉토리로 이동 > cd dist # Docker 컨테이너 설치&실행 > docker-compose up 설치된 후 실행 중인 컨테이너의 CMD 창은 종료해도 상관 없습니다. 아래 명령어를 통해 실행 중..

    [Line CTF 2023 Write Up] WEB 2번: Old Pal

    이번 LINE CTF의 웹 분야 2번 문제 입니다. # 개요 정규표현식으로 작성된 입력값 필터링을 우회하여 FLAG를 획득하는 문제 입니다. # 환경 구성 문제 파일을 다운받으면, Docker Image의 내용이 명시된 Dockerfile과 docker-compose.yaml 파일이 있습니다. 아래 명령어로 도커 컨테이너를 설치 및 실행시킬 수 있습니다. # DockerFile과 docker-compose.yaml 파일이 있는 # 디렉토리로 이동 > cd dist # Docker 컨테이너 설치&실행 > docker-compose up 설치된 후 실행 중인 컨테이너의 CMD 창은 종료해도 상관 없습니다. 아래 명령어를 통해 실행 중인 컨테이너의 PORT를 확인할 수 있습니다. # 실행 중인 Docker C..

    [Line CTF 2023 Write Up] WEB 1번: Baby Simple GoCurl

    이번 CTF의 웹 분야 1번 문제 입니다. # 개요 전형적인 SSRF 문제로 내부에서만 접근 가능한 페이지에 접속하여 FLAG를 획득하는 문제 입니다. # 환경 구성 문제 파일을 다운받으면, Docker Image의 내용이 명시된 Dockerfile이 있습니다. 테스트를 위해 도커 이미지를 생성하고 생성된 이미지로 도커 컨테이너를 실행 시킵니다. # Dockerfile이 존재하는 디렉토리/폴더로 이동 # Docker Image 생성 > docker build -t baby-simple . # 생성된 이미지 확인 > docker images # 생성된 이미지 설치 및 실행 # Port Binding: 외부 PORT 11000 -> 내부 PORT 8080 > docker run -p 11000:8080 -d..

    [사이버공격방어대회 CCE 2022 Write Up] Web 3번 : blue archive-web

    # 개요 이번에도 SSRF 문제이지만, 내부 서버에서 XSS를 발생시켜야하는 문제입니다. + 대상 확인 사이트에 접속하면 URL 입력창 두 개가 나타납니다. 사이트는 Save Archive에 URL을 입력하면 무언가가 저장이 되고, View Archive에 같은 URL을 입력하면 링크가 하나 나타납니다. 해당 링크를 클릭하면 아무 것도 안나타납니다. ;;; + Flag 확인 제공된 파일을 보면 public 서버(blue_archive)와 internal 서버(sandbox.bluearchive.kr) 두 서버로 나뉘며 Flag는 internal 서버의 Javascript에서 FLAG 변수에 선언되어 있습니다. # 분석 문제 사이트와 함께 제공된 사이트의 코드를 분석합니다. Exploit을 위한 주된 코드..

    [사이버공격방어대회 CCE 2022 Write Up] Web 2번 : BabyWeb

    # 개요 SSRF의 Hostname 필터링(화이트리스트 기반)을 우회하는 문제입니다. 또한, Flask에서는 URL encoding된 파라미터 값은 자동으로 decoding하지 않고 그대로 받아들인다는 사실을 알게 된 문제였습니다. + 대상 확인 사이트에 접속하면 조촐하게 입력란과 제출 버튼이 있습니다. 아무런 값을 입력한 후 제출하면 "Something wrong..." 이라는 문자열이 출력됩니다. + Flag 확인 제공된 파일을 보면 public 서버와 internal 서버 두 서버로 나뉘며 Flag는 internal 서버의 secret.py에 선언되어 있습니다. # 분석 문제 사이트와 함께 제공된 사이트의 코드를 분석합니다. Exploit을 위한 주된 코드는 아래 파일에서 확인할 수 있었습니다. 주..

    [사이버공격방어대회 CCE 2022 Write up] Web 1번 : Reborn of php

    # 개요 + 대상 확인 서버에 접속하면 간단한 회원가입 페이지가 나타납니다. + Flag 확인 제공된 파일 중 Dockerfile 파일을 보면 flag 파일을 /flag 로 복사하는 내용이 있습니다. 따라서, 접속하는 사이트에서는 flag 파일은 /flag 에 위치하게 됩니다. # 분석 문제 사이트와 함께 제공된 사이트의 코드를 분석합니다. Exploit을 위한 주된 코드는 controller.lib.php 파일과 register.php 파일, util.lib.php 파일이었습니다. + controller.lib.php 파일 우선, controller.lib.php 파일 내용입니다. # controller.lib.php process() 함수의 내용을 보면, $path 변수 내용에 .php를 붙여서 ph..

글을 읽어주셔서 감사합니다.

이 블로그는 Google 광고 수익으로 콘텐츠를 만들고 있습니다.