반응형

CTF 604

[TenableCTF] Top Secret - 포렌식 / PDF / Strings / Base64

pdf 파일과 관련된 포렌식 문제 문제 설명을 읽어보면, classified documnet를 유출했는데, 가려진 프로젝트의 이름을 알아낼 수 있겠냐고 물어본다. 문제파일로 주어지는것은 sf703.pdf 파일이다. pdf 파일을 열어보면 이렇게 한장짜리 문서가 나온다. 유출한 TOP SECRET 문서인데 가운데에 보면 Project : 라고 되어있어 프로젝트의 이름을 알 수가 없는 상태이다. sf703.pdf 파일을 리눅스 환경으로 옮겨 strings 명령어를 이용해 살펴본다. strings 으로 입력하면 해당 파일 내에 사람이 읽을 수 있을법한 문자열들을 출력해 준다. 출력된 결과를 내리다보면 눈에 띄는 부분이 있다. 24번 오브젝트에 가보면 뭔가 이렇게 길게 Base64로 인코딩된 문자열이 나오게 된..

CTF/포렌식 2022.07.12

[HSCTF9] squeal - 웹해킹 / SQL Injection

정말 간단한 SQL Injection 문제 문제 제목부터 SQueaL 이라고 힌트를 주고 있어서 어떤 공격 기법으로 접근해야 하는지 쉽게 알 수 있다. 문제 설명을 읽어보면 super secret 사이트에 admin 으로 접속할 수 있겠냐고 물어본다. 해킹 대회에서 super secret 이라는 수식어가 붙으면 무조건 아주 취약하다는 의미이다. 이번 문제는 문제페이지 주소와 함께 소스코드도 같이 주어진다. 문제페이지에 접속했을때의 화면이다. 간단한 로그인 페이지가 보인다. 시험삼아 ID, 비밀번호에 123 / 123 이라고 입력해봤는데 위에 Incorrect username or password 라는 알림창이 뜬다. 사실 여기서 바로 문제를 풀 수 있지만 소스코드가 제공되었으니 예의상 한번 봐준다. co..

CTF/웹해킹 2022.07.11

[Root Me] PE DotNet - 0 protection - 리버싱 / IDA

DotNet 리버싱 문제 닷넷은 .NET 라고도 쓰며 마이크로소프트에서 제공하는 윈도우 프로그램 개발 환경을 말한다. 닷넷 앞에있는 PE는 Portable Executable 의 약자로 윈도우에서 실행파일을 의미한다. 그냥 exe 파일이라고 생각하면 된다. 문제 제목에 있는 0 protection 은 아무런 보호조치가 되어있지 않다는 뜻으로 아주 쉬운 문제임을 알려준다. 문제 파일로 주어지는것은 ch22.exe 파일이다. exe 파일을 실행시켜 보면 이렇게 조그만 창이 하나 뜨면서 Password 입력을 요구한다. 비밀번호 입력창에 hello 라고 시험삼아 입력해봤는데 당연히 틀렸기때문에 Bad password 라는 알림창이 뜬다. 좀더 자세히 보기위해 IDA 라는 디스어셈블러를 이용했다. IDA를 실행..

워게임/Root Me 2022.07.10

[Root Me] Directory traversal - 웹해킹

25점짜리 웹해킹 문제 Photo galery 라는 웹페이지가 주어지는데 여기서 hidden section을 찾으면 되는 문제이다. 문제페이지에 접속하면 이렇게 이모티콘들이 카테고리별로 모여있는것을 볼 수 있다. 기능을 살펴보기 위해 웹페이지에서 이것저것 눌러봤는데 중요한 변화를 눈치챘다. 위처럼 emote 카테고리를 선택하면 URL이 galerie=emotes 라고 맞춰서 바뀌고, devices 카테고리를 선택하면 URL이 galerie=devices 로 맞춰서 바뀌는 것이다. 문제 컨셉이 Directroy Traversal 이니 어떻게 접근해야할까 생각하다가 만약 아무것도 입력안한다면? 이라는 생각이 들었다. galerie= 이라고 galerie 변수에 아무런 값도 입력하지 않으니 아래처럼 나왔다. ..

워게임/Root Me 2022.07.09

[CTFlearn] Character Encoding - 암호학 / ASCII

CTFlearn의 세번째 문제 문제 풀이한 수가 앞의 문제보다 낮은건 너무 쉬워서 안풀고 그냥 넘어간 사람들이 많기때문이지 않을까.. 라는 생각이든다. 그정도로 쉬운 문제이다. 사실 풀이까지도 필요없을거 같지만.. 그래도 일단 적어본다. 문제 설명을 읽어보면 컴퓨터 산업이 발달하면서 미국의 coder 들이 정보 교환을 위해 표준을 만들었다고 한다. 그러면서 어떤 문자열이 주어지고, 무엇인지 알아낼 수 있겠냐고 물어본다. 41 42 43 54 46 7B 34 35 43 31 31 5F 31 35 5F 55 35 33 46 55 4C 7D 주어지는 문자열은 2자리로 된 16진수 숫자들이다. 분류를 암호학으로 하긴 했지만 사실 이건 암호라기보단 인코딩이다. 암호는 key를 사용해서 다른사람들이 알아볼 수 없는..

워게임/CTFlearn 2022.07.08

[HSCTF9] gallery - 웹해킹 / LFI

쉬운 난이도의 웹해킹 문제였다. 문제 페이지 주소와 함께 문제 소스파일도 같이 주어지는데 약간의 센스만 있다면 사실 소스 안보고도 충분히 풀 수 있는 문제이다. 문제페이지에 들어가면 나오는 화면이다. 문제 제목인 Gallery에 맞게 각종 사진들을 볼 수 있다. f12를 눌러 개발자도구로 메인페이지 HTML 코드를 살펴보았다. 각종 이미지들을 서버에서 가져올때 URL에 /image 경로에서 ?image= 변수에 이미지 파일 이름을 지정해서 가져오는 방식인 것을 확인했다. (URL에서 ? 뒤에 오는것은 변수라고 보면 된다.) 만약 URL에 ?image= 을 입력하는것이 아니라 서버에 있는 다른 파일이름을 입력한다면? 만약 적절하게 필터링이 되어있지 않을 경우 서버에 존재하는 아무 파일이나 가져와서 읽을 수..

CTF/웹해킹 2022.07.07

[Root Me] JSON Web Token - Introduction - 웹해킹 / JWT

JWT와 관련된 20점짜리 웹해킹 문제 JWT는 JSON Web Token 의 약자로 선택적 서명 및 선택적 암호화를 사용하여 데이터를 만들기 위한 표준을 말한다. 웹에서 사용자 인증을 할때 사용한다. 이번 문제의 목표는 admin 권한으로 접근하는 것이다. 문제페이지에 접근하면 이렇게 로그인 창이 뜬다. 일단 기능을 좀 살펴보기 위해 아래쪽에 있는 Login as Guest! 버튼을 눌러 Guest 계정으로 로그인을 해보았다. 로그인을 하면 이렇게 Welcome guest to this website! :) 라는 문구가 뜬다. 문제페이지의 쿠키값을 확인해봤다. jwt 라는 이름의 쿠키에 base64로 인코딩된 값이 들어있는게 보인다. eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.e..

워게임/Root Me 2022.07.06

[HeroCTF] SmallMistakeBigMistake - 웹해킹 / 쿠키변조 / Flask

간단한 웹해킹 문제 이전에도 비슷한 문제를 다룬적이 있었다. (https://hackingstudypad.tistory.com/95) 문제 설명을 읽어보면 웹 개발자들이 코드에서 작은 실수를 했는데 혹시 그걸 찾아서 exploit을 해 플래그를 획득할 수 있는지 물어본다. 문제페이지 주소와 함께, 웹 소스코드도 같이 주어진다. 먼저 문제페이지에 접속했을때 화면이다. 다짜고짜 You are not admin! 이라는 문구가 출력된다. 대체 왜 이런 문구가 출력되는지 소스를 확인해본다. #!/usr/bin/env python from flask import Flask, session, render_template from string import hexdigits from random import choic..

CTF/웹해킹 2022.07.05

[CTFlearn] Forensics 101 - 포렌식 / HxD / Strings

CTFlearn 워게임의 두번째 문제 이번 문제는 포렌식 문제이다. 1번문제는 39,000명 정도 풀었었는데 풀이수가 만 명이나 적은걸 보니 이 문제가 살짝 더 어려운가 보다. 문제 설명을 읽어보면 플래그가 어딘가에 숨어있으니 찾아 볼 수 있냐고 한다. 당연하지만 그렇게 어렵지 않게 찾을 수 있다. 주어진 URL을 클릭해서 들어가면 이렇게 작은 미니언 사진을 다운받을 수 있다. 다운받은 미니언 jpg 파일을 HxD 라는 도구를 실행시켜, 드래그 앤 드랍한다. (HxD 다운링크 : https://mh-nexus.de/en/downloads.php?product=HxD20) 그러면 이렇게 16진수로 되어있는 값들이 보인다. 이 16진수 값들은 jpg 파일의 raw data 이다. 참고로 저렇게 파일의 시작이..

워게임/CTFlearn 2022.07.04

[HeroCTF] HeroGuesser#1 - OSINT / Google Map

OSINT 문제 OSINT는 Open Source Intelligence 의 약자로 공개출처정보라는 뜻이다. 말 그대로 공개된 출처에서 얻은 정보들을 의미한다. 해킹대회에서는 구글이나 네이버 검색처럼 누구나 쉽게 접근해서 얻을수 있는 정보들을 이용해서 의미있는 새로은 정보를 만들어내거나 알아내는 방식으로 진행된다. 매번 풀때마다 느끼는건데 OSINT 문제는 진짜 어려운것 같다. 잘 푸는 사람들 보면 그저 경이로울 따름이다... 문제 설명을 읽어보면 프랑스 남부에 있는 어떤 공원에서 게임을 했던 기억이 난다면서 혹시 어딘지 찾을 수 있겠냐고 물어본다. 그러면서 어떤 웹 페이지 주소가 제공되는데 해당 주소로 접근해보면 이런 사이트가 나온다. 구글 맵처럼 어떤 공원의 로드뷰를 보여주고있는 사이트이다. 이 정보..

CTF/MISC 2022.07.03
반응형