반응형

워게임 270

[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

[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

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

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

워게임/CTFlearn 2022.07.02

[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

[Root Me] Flash - Authentication - 웹해킹 / FFDEC

이제는 고인이 되어버린 Flash 관련된 문제 Flash가 아직 서비스 중일때는 쉽게 풀 수 있는 문제였을거 같은데 Flash가 안되는 상황에서 풀려니 조금 난이도가 있었다. 문제의 목표는 validation code를 찾는것이다. 문제페이지에 접속하면 이런 화면이 나온다. 원래는 웹페이지 안에 플래시가 삽입되어서 보여지는듯 했으나 플래시 지원이 종료되면서 흔적만 남은 모습이다.. Flash는 보안 취약점으로 인한 악성코드 유포 도구로 사용되어서 2020년 12월 31일 부로 지원이 종료되었다. 해당 페이지에서 f12를 눌러 개발자도구를 실행시켜 본다. 요소 탭을 확인해보면 중간에 태그가 있다. 태그 안의 내용을 보면, value 값이 dbbcd6ee441aa6d2889e6e3cae6adebe 와 다르면..

워게임/Root Me 2022.06.28

[Root Me] Insecure Code Management - 웹해킹/ Directory Listing / git

20점짜리 웹해킹 문제 이 문제는 깃(git)과 관련된 문제이다. git은 소스코드의 변경사항을 추적하고 여러 사용자들간 작업을 조율하기 위한 버전관리 시스템이다. 문제의 목표는 admin 계정의 비밀번호를 알아내는 것이다. 문제페이지에 접속하면 이렇게 로그인 창만 덩그러니 있다. 당연히 그냥 로그인이 안되고, 비밀번호를 알아야만 로그인 할 수 있다. 개발자가 Git을 사용해서 웹을 개발할 경우, 각종 설정파일들이 .git 폴더 내에 저장이 된다. 만약 이 .git 디렉토리에 대한 접근 권한을 제대로 설정하지 않으면 위에서 보이는것처럼 URL 맨 뒤에 .git/ 이라고 입력했을때 Directory Listing 취약점이 발생한다. 디렉토리 리스팅 취약점은 서버 내의 모든 디렉토리와 파일 목록을 공격자가 ..

워게임/Root Me 2022.06.25

[Root Me] PE x86 - 0 protection - 리버싱 / Ollydbg

Root Me 에서 제공하는 세번째 리버싱 문제 이번 문제는 greHack CTF 2012 해킹대회에서 실제 출제되었던 문제라고 한다. 앞에서 풀었던 두 문제는 ELF 파일이었는데, 이번에는 PE 파일이 주어진다. PE 파일은 Portable Executable의 약자로 그냥 우리가 흔히 보는 윈도우에서 실행 가능한 EXE 파일이다. 문제의 목적은 주어지는 프로그램의 password를 알아내는 것이다. 이것이 문제에서 주어지는 ch15.exe 파일이다. 해당 프로그램은 윈도우의 cmd 창을 이용해서 실행시킬 수 있다. 프로그램이 저장된 경로에서 ch15.exe 라고 입력해봤더니 Usage : ch15.exe pass 라면서 사용법을 알려준다. pass 자리에 비밀번호를 넣으면 되는것이다. 알려준 사용법대..

워게임/Root Me 2022.06.22

[Root Me] ELF x86 - Basic - 리버싱 / IDA

Root Me의 두번째 리버싱 문제 아직까지는 아주 쉬운 문제이다. 문제 설명을 보면 Find the validation password. 라고 적혀있다. 제목부터 Basic 이니 비밀번호는 아주 쉽게 찾을 수 있다. 문제파일로 ch2.bin 파일이 주어지는데 해당 파일을 HxD 프로그램으로 열어보면 문제 제목에서도 나온것처럼 ELF 파일인것을 확인할 수 있다. 뒤에 오는 x86은 32bit 환경에서 만들어진 프로그램임을 알려준다. 리눅스 환경에서 file ch2.bin 명령어를 통해서도 확인이 가능하다. ELF 파일은 리눅스에서 실행 가능한 EXE 파일같은거라고 생각하면 된다. 실험삼아 ./ch2.bin 명령어로 프로그램을 실행시켜 보았다. username: 이라고 출력되면서 사용자 입력을 받는데 he..

워게임/Root Me 2022.06.18

[Root Me] ELF x86 - 0 protection - 리버싱 / IDA

Root Me에서 제공하는 첫번째 리버싱 문제 아무래도 첫번째 문제이기때문에 아주 쉽다.(배점도 5 point 밖에 안된다.) 제목도 참 정직하다. 문제파일로 ch1.bin 파일이 주어지는데 해당 파일을 HxD 프로그램을 이용해 열어보면 ELF 파일인것을 확인할 수 있다. 제목의 ELF 뒤에 오는 x86은 32bit 환경에서 동작하는 프로그램임을 알려주고, 0 protection은 말 그래도 아무런 보안조치도 되지 않은 프로그램 이라는 뜻이다. 리눅스 환경에서 file ch1.bin 명령어를 통해서도 확인할 수 있다. ELF 파일은 리눅스에서 실행 가능한 EXE 파일같은거라고 생각하면 된다. 실험삼아 ./ch1.bin 해서 프로그램을 실행시켜 봤다. Veuillez entrer le mot de pass..

워게임/Root Me 2022.06.16

[Root Me] HTTP - Cookies - 웹해킹 / 쿠키변조

20점짜리 HTTP - Cookies 문제 난이도(레벨)을 보면 중간으로 표시되어있는데 사실 이 문제는 굉장히 쉬운 문제이다. Bob 이라는 사람이 사용자 이메일을 수집하기 위해 PHP 스크립트를 작성했다고 한다. 문제페이지에 접속하면 이렇게 Email을 입력하는 칸이 있다. 시험삼아 test@test.com 이라고 입력하고 send 버튼을 눌러보니 Email saved 라는 문구가 출력이됐다. Saved email adresses 버튼을 눌러보니 You need to be admin 이라는 문구가 출력됐다. 해당 내용은 admin만 확인이 가능한 것 같다. f12를 눌러 개발자 도구를 통해 HTML 내용을 살펴보니 중간에 주석으로 처리된 SetCookie("ch7", "visiteur"); 부분이 보였..

워게임/Root Me 2022.06.09
반응형