[Dreamhack Web - Lv 1] php-1
Wargame/Dreamhack 2021. 10. 29. 11:42

문제 정보 php로 작성된 Back Office 서비스입니다. LFI 취약점을 이용해 플래그를 획득하세요. 플래그는 /var/www/uploads/flag.php에 있습니다. 풀이 힌트 1. 공격 백터 파악 2. PHP Wrapper 문제 풀이 더보기 문제 페이지에 들어가니, List와 View 페이지가 있었다. 공격 백터를 확인하기 위해 두 페이지를 살펴보겠다. List 페이지를 확인해보니, 두 가지 목록이 있었다. 제일 의심가는 flag.php를 확인해보니, View 페이지로 이동하였고 flag.php의 내용을 보지 못하게 막았다. hello.json은 잘 읽어지는 것으로 보인다. 근데 이상한 점이 보통 페이지를 이동할 때, /list.php?param=~~로 제어할텐데 index.php의 page ..

[Dreamhack Web - Lv 1] web-misconf-1
Wargame/Dreamhack 2021. 10. 28. 09:44

문제 정보 기본 설정을 사용한 서비스입니다. 로그인한 후 Organization에 플래그를 설정해 놓았습니다. 풀이 힌트 1. Grafana 공식 문서 문제 풀이 더보기 문제에 접속하니, 굉장히 멋있는 로그인 페이지가 나왔다. 페이지의 footer을 보니, 오픈 소스인 것으로 보인다. 나는 일단 해당 오픈소스의 Document에서 디폴트 계정 값을 찾아서 로그인을 시도하겠다. 문서를 확인한 결과 디폴트 계정은 admin/admin으로 되어 있는 것으로 보인다. admin/admin으로 로그인을 시도하니, 로그인에 성공하였고 pw를 바꾸라는 문구가 출력 되었다. 나는 문제 풀이가 주목적이기 때문에 Skip하였다. 들어오니, 굉장히 대쉬보드 페이지가 출력되었다. 여기저기 확인해본 결과 Server Admin..

[OverTheWire System - Bandit] Level 11 >> Level 12
Wargame/Dreamhack 2021. 10. 28. 09:21

Level Goal The password for the next level is stored in the file data.txt, where all lowercase (a-z) and uppercase (A-Z) letters have been rotated by 13 positions 다음 레벨의 비밀번호는 data.txt 파일에 저장됩니다. 여기서 모든 소문자(a-z) 및 대문자(A-Z)가 13자리 회전되었습니다. Hint 1. tr 명령어 Write Up 더보기 확인한 결과, 알파벳이 회전되어 알 수 없는 문자열이 출력되었다. tr 명령어를 사용하면 간단하게 문자를 바꾸거나 삭제할 수 있다. 이를 이용하여 알파벳을 반대로 13 회전하였다. bandit12 :: 5Te8Y4drgCRfCx8ugdw..

[Dreamhack Web - Lv 1] command-injection-1
Wargame/Dreamhack 2021. 10. 27. 18:03

문제 정보 특정 Host에 ping 패킷을 보내는 서비스입니다. Command Injection을 통해 플래그를 획득하세요. 플래그는 flag.py에 있습니다. 풀이 힌트 1. Linux 다중 명령 2. html pattern 속성 문제 풀이 더보기 문제 페이지로 들어서 확인해보니, ping을 보내주는 기능이 있는 사이트로 예상된다. 기능도 Ping 페이지 밖에 없었다. 확인해보니, input에 ip 주소를 넣어주면 서버가 ping을 보내주는 것으로 보인다. input에 8.8.8.8를 넣어서 Ping! 버튼을 클릭하니, 위와 같은 결과를 얻을 수 있었다. 이번 문제는 다중 명령어를 이용한 취약점을 물어보기 위한 문제로 보인다. 확인을 위해 ;를 넣어서 다중 명령을 전달하려고 했지만, 형식이 안 맞다고 ..

[Dreamhack Web - Lv 1] image-storage
Wargame/Dreamhack 2021. 10. 27. 17:27

문제 정보 php로 작성된 파일 저장 서비스입니다. 파일 업로드 취약점을 이용해 플래그를 획득하세요. 플래그는 /flag.txt에 있습니다. 풀이 힌트 1. 공격 백터 파악 2. php upload 취약점 문제 풀이 더보기 문제 페이지에 들어가보니, 기능이 List, Upload 밖에 없었다. 공격 백터 파악을 위해 한번 살펴보겠다. List 페이지에 들어갔는데, 아무 것도 없는 페이지가 나왔다. 예상하기엔 Upload를 하면 List에서 확인이 가능하는 것으로 보인다. Upload 페이지에 들어가보니, 이름대로 Upload 기능이 있는 페이지가 나왔다. 일단 한번 드림핵 로고 이미지 파일을 업로드 해봤다. 업로드 후에는 서버에 저장되는 경로를 출력된다는 것을 알 수 있었다. 프록시로 어떤 이름으로 이미..

[OverTheWire System - Bandit] Level 3 >> Level 4
Wargame/Dreamhack 2021. 10. 26. 16:27

Level Goal The password for the next level is stored in a hidden file in the inhere directory. 다음 단계의 암호는 이 디렉토리의 숨겨진 파일에 저장됩니다. Hint 1. ls 명령어 2. cat 명령어 3. 리눅스 숨겨진 파일 Write Up 더보기 ls 명령어로 홈 디렉토리를 확인해보니, inhere 디렉토리가 있었다. 그래서 안에 뭐가 있는지 궁금하여 inhere 디렉토리도 확인하였다. 확인 한 결과 .hidden 파일이 있다는 것을 알 수 있었다. file 이름 앞에 .이 있다는 것은 숨긴 파일이라는 뜻이다. cat 명령어를 사용하여 .hidden 파일을 확인해봤다. bandit4 :: pIwrPrtPN36QITSp3EQaw..

[OverTheWire System - Bandit] Level 2 >> Level 3
Wargame/Dreamhack 2021. 10. 26. 14:22

Level Goal The password for the next level is stored in a file called spaces in this filename located in the home directory 다음 단계의 암호는 홈 디렉토리에 있는 이 파일 이름의 공백 파일에 저장됩니다. Hint 1. ls 명령어 2. cat 명령어 3. 리눅스 공백 인식 Write Up 더보기 ls 명령어를 통해 홈 디렉토리의 파일들을 확인해보니, spaces in this filename이라는 파일이 있다는 것을 확인할 수 있다. 파일의 이름에 공백이 있어서 cat 명령어에 공백이 있는 파일명을 넣으면 cat 명령어는 공백을 기준으로 spaces, in, this, filename이라는 파일명을 전달하는..

[Dreamhack Web - Lv 1] csrf-1
Wargame/Dreamhack 2021. 10. 25. 18:15

문제 정보 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. 풀이 힌트 1. 공격 백터 파악 2. 코드 분석 또는 웹 스파이터를 통해 숨겨진 파라미터 파악 문제 풀이 더보기 더보기 문제 서비스는 총 4가지의 기능을 제공하고 있다. 1. vuln(csrf) page : /vuln vuln 페이지의 링크를 클릭하자 Get 메소드로 param 파라미터에 를 넣어서 서버에 요청을 보냈다. 하지만 서버는 를 alert(1)로 치환하여 페이지에 출력하였다. 혹시 On 이벤트로 XSS를 일으킬 수 있는지 확인하기 위해 img 태그에 onerror 속성으로 시도하였지만 XSS은 실패하였다. 해당 페이지는 param 파라미터에 대한 검증이 있는 것으로 보인다..

[Dreamhack Web - Lv 1] proxy-1
Wargame/Dreamhack 2021. 10. 25. 14:28

문제 정보 Raw Socket Sender가 구현된 서비스입니다. 요구하는 조건을 맞춰 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 풀이 힌트 1. 소스코드 분석 2. HTTP Packet 3. Proxy Tool 문제 풀이 더보기 더보기 문제의 설명에 요구 조건을 맞추라는 말이 있는데, 이게 어떤 걸을 말하는지 잘 모르겠다. 그래서 일단 기능을 보고 추측을 해보겠다. 해당 문제의 기능은 Raw Socket Sender 기능이 있다. 메뉴바의 Socket도 Raw Socket Sender와 같은 것이다. 해당 페이지는 위 사진과 같다. 여기까지 살펴본 결과 아마 해더와 관련이 있지 않을까? 라는 생각이 들었다. 그 이유는 host, port, data이 세 개를 던져주고 요..

[Dreamhack Web - Lv 1] file-download-1
Wargame/Dreamhack 2021. 10. 25. 14:18

문제 정보 File Download 취약점이 존재하는 웹 서비스입니다. flag.py를 다운로드 받으면 플래그를 획득할 수 있습니다. 풀이 힌트 1. 공격 백터 파악 2. Path Traversal Attack 문제 풀이 더보기 더보기 들어가보니, 기능이 Upload My Memo라는 Upload 기능일 거 같은 메뉴가 하나있었다. 해당 페이지의 공격 백터는 filename과 content이다. 일단 업로드를 하면 어떻게 작동하는지 확인을 해보도록 하겠다. 업로드를 한 결과 Home 페이지에 내가 filename에 넣은 값이 리스트로 들어가 있었다. 들어가보니, Get 메소드로 name을 넘겨주는 것을 확인하였다. 이 또한 사용자가 값을 입력할 수 있으니, 공격 백터에 추가하겠다. 내가 테스트로 넣은 값..