반응형

워게임 270

[Root Me] EXIF - Metadata - 포렌식 / 스테가노그래피 / Exiftool

Root Me의 포렌식 문제 문제 배점도 낮고 앞쪽에 있는데 왜이렇게 풀이수가 낮을까 봤더니 올해 3월에 새로 추가된 따끈따끈한 문제였다. 문제 설명을 읽어보면 pepo를 잃어버렸는데 어디있는지 찾을 수 있냐고 물어본다. 비밀번호를 pepo가 있는 도시 이름이라고 한다. 그러면서 주어지는 문제파일은 위 파일이다. 밈으로 익숙한 개구리 페페 사진이 있다. 문제풀때 Guessing은 하지 말라는 문구도 같이 적혀있다. 문제 제목에도 써있지만 이 문제는 EXIF 메타데이터를 이용해서 풀면 된다. EXIF는 Exchangeable Image File Format 의 약자로 디지털 카메라에서 사용되는 메타데이터 포멧이다. 디카로 사진을 찍으면 그안에 날짜, 시간, 카메라 제조사, 위치 등등의 정보가 같이 저장되는..

워게임/Root Me 2022.07.25

[CTFlearn] Base 2 2 the 6 - 암호학 / Base64

CTFlearn의 여섯번째 문제 풀이수가 생각보다 적지만 사실 풀이가 필요없을만큼 쉬운 문제이다. 분류가 암호학으로 되어있긴 한데 사실 이 문제는 암호 보다는 인코딩과 관련된 문제이다. 암호와 인코딩 둘다 원래 데이터를 다른 데이터로 바꾸지만, 암호에는 Key 값이 사용된다는 특징이 있다. 여기서는 Key가 필요없으니 그냥 인코딩-디코딩 이라고 생각하면 된다. Q1RGe0ZsYWdneVdhZ2d5UmFnZ3l9 간단하게 문제에서 주어진 이 문자열을 디코딩 하면 된다. 문제 제목으로 유추해 볼 수 있는것처럼 이건 Base64로 인코딩된 값이다. 이러고 바로 디코딩 해버리면 포스팅이 너무 짧아지니, 간단하게 원리를 정리하고 넘어가본다. abc 라는 단어가 있다. ASCII 코드로 각각 a는 97, b는 98..

워게임/CTFlearn 2022.07.24

[Root Me] PHP - register globals - 웹해킹 / 백업파일

PHP register globals 와 관련된 웹해킹 문제 register globals 는 php 설정파일인 php.ini 파일에 있는 옵션 중 하나인데 이 값이 만약 on 으로 설정되어 있을경우, 외부에서 GET 이나 POST로 전달된 값들이 자동으로 php 변수로 바뀌게 된다. 문제 설명에 힌트가 살짝 적혀있다. 개발자들은 종종 백업파일을 남겨놓는다고 한다. 문제페이지에 접속하면 이렇게 비밀번호 입력하는 창이 나온다. 개발자가 남겨둔 백업파일을 먼저 찾아본다. 보통 백업파일은 파일명 뒤에 .bak 이런식으로 저장하는 경우가 많다. 주소창 맨 뒤에 index.php.bak 이라고 입력해보면 이렇게 백업파일이 자동으로 다운로드 된다. 아이콘은 한글파일인데 무시해도 된다.

워게임/Root Me 2022.07.20

[Root Me] PHP - Filters - 웹해킹 / LFI / PHP wrapper

PHP Filters 와 관련된 웹해킹 문제 이전에도 실제 대회에서 비슷한 문제를 다뤄본 적이 있다. (https://hackingstudypad.tistory.com/143) 문제의 목표는 admin의 비밀번호를 알아내는 것이다. 문제 페이지에 처음 접속하면 이런 화면이 나온다. 페이지 기능을 살펴보기 위해 일단 눈에 보이는 버튼을 눌러봤다. home 버튼을 눌렀더니 URL에서 inc 변수로 accueil.php 페이지를 불러오는걸 볼 수 있었다. 두번째로 login 버튼을 눌러봤더니 이번에도 URL에서 inc 변수로 login.php 페이지를 불러오고 있었다. inc 변수가 핵심인거 같아서 이번엔 inc 변수에 임의로 hello 라고 적어보았다. 그랬더니 에러가 나는데, 에러 내용을 살펴보면 서버에서..

워게임/Root Me 2022.07.18

[CTFlearn] Where Can My Robot Go? - 웹해킹 / robots.txt

CTFlearn의 다섯번째 문제 드디어 풀이수가 2만명 이하로 떨어졌다. 출제자는 문제를 MISC로 분류했지만(Miscellaneous) 굳이 따지자면 웹해킹이랑 관련있는거 같아 웹해킹으로 포스팅을 적는다. 이 문제는 제목이랑 설명에서 부터 큰 힌트가 있다. Where Can My Robot Go? Where do robots find what pages are on a website? 아마 티스토리 하시는 분들이라면 익숙한 단어일 것이다. 이 문제는 robots.txt 를 이용해 푸는 문제이다. 네이버 서치어드바이저에 있는 바로 그 robots.txt이다. robots.txt는 로봇 배제 표준이라고 해서 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 일종의 규약이다. 검색엔진들이 내 웹페이지를 마구마..

워게임/CTFlearn 2022.07.17

[Root Me] PHP - assert() - 웹해킹 / Command Injection

PHP의 assert() 함수와 관련된 웹해킹 문제 assert() 함수는 프로그래머가 예상치 못한 예외처리를 하기 위해서 사용되는 함수이다. 이번 문제에서는 assert() 함수의 취약점을 이용해 .passwd 파일의 내용을 읽으면 된다. 문제페이지에 접속했을때 화면이다. 비밀이 어디있는지 못찾을것이라며 사악한 웃음을 짓고있다.. 메뉴처럼 생긴 Home, About, Contact 버튼을 각각 눌러보면 URL이 누를때마다 바뀌는 것을 볼 수 있다. URL에서 ? 뒤에오는것은 변수라고 생각하면 된다. 문제페이지에서는 page 변수에 각각의 페이지 이름을 담아서 페이지를 불러오고 있다. 보통 이렇게 page 를 변수로 받아오는 환경에서 LFI(Local File Inclusion) 취약점이 발생한다. 그래..

워게임/Root Me 2022.07.14

[CTFlearn] Taking LS - 포렌식 / Linux / 숨김파일

두번째 포렌식 문제 아직까진 2만명이나 푼걸보니 할만한것 같다. 문제 제목으로 보아 뭔가 리눅스의 ls 명령어와 관련된 문제인듯 하다. 문제 설명을 읽어보면 zip 파일을 받아서 숨겨져 있는 플래그를 찾으면 된다고 한다. 문제에서 주어진 링크로 들어가면 The Flag.zip 파일을 받을 수 있다. 리눅스 환경에서 zip 파일 압축을 풀어보면 이렇게 The Flag 폴더 안에 __MAXOSX 폴더와 The Flag 폴더가 있는것을 볼 수 있다. The Flag 폴더로 들어가보면 The Flag.pdf 파일이 있는것이 보이는데 pdf 파일을 열려고 하면 이렇게 비밀번호가 걸려있어 내용을 볼 수가 없다. 이번엔 터미널을 실행시켜서 확인해본다. The Flag/The Flag 경로로 접근해서 ls 명령어를 입..

워게임/CTFlearn 2022.07.13

[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
반응형