반응형

분류 전체보기 712

[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

[CTFlearn] Basic Injection - 웹해킹 / SQL Injection

그동안 포스팅 하면서 워게임은 너무 Root Me 문제만 풀이한것 같아 새로운 워게임을 하나 찾아보았다. CTFlearn(https://ctflearn.com/) 이라는 사이트이고 해킹대회 연습용 문제들이 많이 올라와있다. 첫번째 문제는 웹해킹 문제이다. 39779 명이나 문제를 푼 걸 보면 엄청나게 쉬운 문제이듯 한다. 문제소스는 따로 주어지지 않고, 문제 페이지 주소만 주어진다. link 버튼을 눌러 접속할 수 있다. 문제 페이지에 접속하면 이런 화면이 나온다. Input : 밑에 사용자가 입력할수 있는 폼이 하나 있고, 아래쪽에는 사용자의 입력값을 받아 데이터베이스로 전달하는 SQL 구문이 그대로 출력되어 보인다. 예를들어 Input 에 HELLO 라고 입력하면 아래쪽 SQL 구문에 SELECT *..

워게임/CTFlearn 2022.07.02

[SANS SIFT Workstation] 최신버전 다운로드 및 설치방법

SANS SIFT Workstation 최신버전 다운로드 및 설치 방법에 대해서 알아보자. SIFT는 Sans Investigative Forensics Toolkit 의 약자로 Ubuntu 환경에 디지털포렌식 및 사고대응을 위한 각종 도구들이 내장되어있는 리눅스이다. 무료 오픈소스로 제공되고 업데이트도 자주 되는 편이다. 실제 디지털포렌식을 하거나 CTF 대회에서 포렌식 문제를 풀때 필요한 도구들을 여기저기저 찾아서 설치하는것보다 이거 하나 설치해서 쓰면 편하기 때문에 자주 사용한다. 구글에 sitf download 라고 검색하면 바로 공식 홈페이지가 뜬다. 해당 링크로 들어가서 다운로드 받을 수 있다. 오른쪽 중간에 download 버튼을 눌러서 다운로드 할 수 있는데 먼저 회원가입을 해야한다. 오른..

[Root Me] ELF C++ - 0 protection - 리버싱 / IDA / GDB

C++ 리버싱 문제 C++ 리버싱은 처음 해본거 같은데 생각보다 어려워서 놀랐다. C 랑 큰 차이 없지 않을까 생각하고 시작했다가 큰코다쳤다.. 문제의 목표는 올바른 password를 찾는것이다. 문제파일로 주어지는 것은 ch25.bin 파일이다. 먼저 프로그램을 실행시켜 보았다. 터미널에서 ./ch25.bin 이라고 입력하면 실행이 되는데 그냥 실행시켰더니 usage : ./ch25.bin password 라면서 사용법이 출력된다. ./ch25.bin hello 라고 password를 인자로 넣어서 실행시켜 주니 비밀번호가 틀렸다는 안내 문구가 출력된다. IDA 라는 디스어셈블러를 이용해서 ch25.bin 파일을 열어보았다. c로 만들어진 프로그램이라면 오른쪽에 깔끔하게 어셈블리어가 잘 보이는데 c++..

워게임/Root Me 2022.06.30
반응형