전체 글
-
Carve Party개인공부/드림핵 2024. 12. 9. 23:19
호박을 10,000번 클릭하여 FLAG값을 획득하는 문제다. [문제 풀이]1. 문제 파일 다운로드해당 문제는 문제 풀이 서버가 아닌 파일을 다운로드 후 제공되는 html 파일을 이용하여 문제를 푸는 방식이다. html 파일을 열게되면 위와 같은 화면을 볼 수 있다. 해당 호박을 10,000번을 클릭하게 되면 FLAG를 얻을 수 있다. 물론 수동으로 10,000번을 클릭하여 풀 수 도 있지만 그 방법은 공수가 많이 들기에 개발자 도구를 이용하여 해결하였다. 2. 개발자 도구 개발자 도구의 콘솔 화면에서 명령어를 입력하여 진행한다. 3. Exploitconst element = $('#jack-target'); // 호박 이미지에 설정된 ID 값이다. 이를 찾는 방법은 개발자 도구의 Inspect 기능을 ..
-
web-misconf-1개인공부/드림핵 2024. 12. 8. 17:29
기본 설정을 이용하고 있는 웹 서비스이다. 해당 설정을 이용하여 로그인 후 Organization 부분에서 FLAG 값을 획득하는 문제이다. [문제 풀이]1. 문제 풀이 서버문제 풀이 서버 접속 시 아래와 같은 Grafana 서비스 화면을 볼 수 있다. 로그인을 해야 Oragnizaiton 부분을 확인 가능하다. 이를 위해 문제 파일 분석을 시도한다. 2. 문제 파일 분석기본 설정 파일인 default.ini 파일 분석 시 아래와 같은 부분을 확인 가능하다. admin 계정과 그 패스워드가 확인되었다. 이를 이용하여 로그인을 시도한다. 3. Exploit로그인 후 세팅 확인 시 Oragnization Name 부분에서 FLAG를 획득 할 수 있다.
-
command-injection-1개인공부/드림핵 2024. 12. 8. 17:06
특정 호스트에 ping을 보내는 서비스에서 Command Injection을 이용하여 플래그를 획득하는 문제이다. [문제 풀이]1. 문제 풀이 서버 접속 사진에서 알 수 있듯 특정 호스트에 Ping을 때릴 수 있는 서비스이다. localhost에 대해 ping을 시도해본다. 명령이 정상적으로 수행되어 결과값을 리턴한 것을 확인 할 수 있다. ls 명령어 수행을 위해 ls 입력 시 요청한 형식과 일치시키라는 메세지가 나오며 명령이 실행되지 않는 것을 확인 가능하다. 2. 문제 파일문제 파일 다운로드 후 분석을 진행한다. 여기서 확인 할 수 있는것은 'ping -c 3 "{host}"' 부분에서 host값에 입력 주소값이 들어가며 수행된다는 것을 알 수 있다. 동작 구조를 확인하였으니 Command I..
-
file-download-1개인공부/드림핵 2024. 12. 8. 16:42
이번 문제는 파일 다운로드 취약점이 존재하는 웹 서비스에서 flag.py 다운로드를 통해 FLAG 값을 획득하는 문제다. [문제 풀이]1. 문제 서버 접속 문제 페이지 확인 시 값을 입력하여 메모를 입력하여 업로드하는 페이지가 존재하는 것을 확인할 수 있다. 업로드를 시도해 본다. 업로드한 메모가 표시되는 것을 알 수 있다. 2. 문제 파일 다운로드문제 파일 확인 시 공격 가는한 취약점을 확인 할 수 있다. 업로드의 경우 경로 이동을 막기 위해 '..' 구문이 입려될 경우 'bad characters,,'라는 문자열을 리턴하도록 되어 있다. 하지만 업로드된 메모를 읽어오는 /read의 경우 해당 filename에 대한 검증이 이루어지지 않는다. 이를 이용하여 flag.py를 읽을수 있다. 3. E..
-
pathtraversal개인공부/드림핵 2024. 11. 22. 22:13
이번 문제는 경로 이동 취약점을 이용해 /api/flag 디렉터리에 존재하는 FLAG를 획득하는 문제이다. [문제 풀이]1. 문제 서버 접속 서버 접속 시 위의 화면을 볼 수 있다. 이때 Get User Info를 눌러 유저 정보를 가져오는 화면으로 이동한다. 2. 동작 확인 유저 정보를 가져오는 화면의 userid 값은 이미 guest로 채워져있다. 이때 1번 View를 클릭 할 시 2번의 내용처럼 guest 유저에 대한 정보를 가져온다. 동작 방식을 확인하기 위해 문제 파일을 다운로드 하여 분석한다. 3. 문제 파일 분석 코드 확인 시 users 딕셔너리가 정의되어 있으며 여기서 정보를 가져오는 것을 알 수 있다. 이러한 딕셔너리 안의 값들은 internal_api라는 함수로 정의된 api를 이용..
-
cookie개인공부/드림핵 2024. 11. 21. 23:43
이번 문제는 쿠키로 인증을 관리하는 간단한 로그인 서비스에서 admin 계정으로 로그인을 성공해 FLAG를 획득하는 문제다. [문제 풀이]이번 문제 풀이를 위해서 BurpSuite를 사용하였다. 1. BurpSuite 실행 BurpSuite>Proxy>Open browser를 눌러 브라우저 창을 열어준다. 이 동작을 하는 이유는 BurpSuite에서 사용자와 서버간의 요청을 인터셉트 하기 위해서이다.(전용 브라우저를 사용하면 프록시 설정 불필요) 2. 문제풀이 서버에 접속 접속 후 로그인 메뉴를 클릭 시 로그인 창으로 이동한다. 계정정보를 확인하기 위해 문제파일을 분석한다. 3. 문제파일 분석 소스코드에서 users라는 이름의 딕셔너리에 guest:guest, admin: flag가 정의되어 있는 것을 ..
-
🌱 simple-web-request개인공부/드림핵 2024. 11. 21. 23:01
이번 문제의 경우 STEP1~2로 나누어져 있으며 해당 STEP을 모두 풀게될 경우 FLAG를 획득하는 문제이다. [문제 풀이]1. STEP1 파라미터 2개를 입력하는 칸을 준다. 값으로 어떠한 입력이 들어가야 할지 확인을 위해 문제 파일을 분석한다. 2. 문제 파일 분석 확인 결과 하드코딩된 값을 찾을 수 있다. 해당 값을 입력 시 STEP1이 통과되며 STEP2로 리다이렉트된다. 3. STEP2 STEP2도 1과 마찬가지로 2개의 파라미터에 대한 입력을 받고 있다. 다시한번 문제파일을 분석하여 값을 유추한다. 4. 문제파일 분석2 확인 시 STEP1과 마찬가지로 하드코딩된 값을 볼 수 있다. 이를 입력할시 STEP2가 통과되며 FLAG를 획득 가능하다. 5. FLAG 획득
-
ex-reg-ex개인공부/드림핵 2024. 11. 18. 22:29
문제에서 요구하는 형식의 문자열을 입력하여 FLAG를 획득하는 문제이다. 문제 풀이 서버에 접속 시 아래와 같은 화면을 확인 가능하다. [문제 풀이]1. 문제 파일을 다운로드 후 분석 할 시 다른 문제들과 마찬가지로 정규식을 사용하여 해당 조건을 만족하는 문자열인지 점검하는 조건문이 존재하는 내역을 확인 할 수 있다. 2. 위 조건을 설명하면 아래와 같다.무조건 시작은 dr 문자열로/w{5,7} = 숫자, 영문자, 또는 _가 최소 5개에서 최대 7개 그 뒤 문자 e/d+ = 1개 이상의 숫자am = 뒤에 am 문자열 @[a-z]{3,7} = 최소 3개에서 최대 7개의 알파벳(소문자)\. = .\w+ = 1개 이상의 숫자, 영문자, 또는 _3. 위 조건에 만족하는 문자열 구성- 예 : dr123456e1..