wargame/Dreamhack
-
Dreamhack - xss-2wargame/Dreamhack 2024. 2. 7. 18:18
[LEVEL 1 - xss-2 - web] 문제 환경에 접속해보면 이전 xss-1 문제와 똑같지만 한 가지 다른 점이 있다. /vuln에 가보면 아까 1이라고 뜨던 창이 아예 뜨지 않는다. 태그가 실행이 안되는 것을 알 수 있다. vuln.html을 보면 innerHTML로 처리하기 때문에 자바스크립트가 외부에서 삽입되는 것이 차단되어 있다는 걸 알 수 있다. 문제 해결 위해 필요한 xss 우회 관련 사전 지식이 없어서 공부를 먼저 시작하고 워게임을 풀었다. 우선 iframe 태그는 원래 알고 있던 것이긴 한데, 간단히 설명을 적자면 iframe은 inline frame의 약자로, 현재 렌더링되고 있는 문서 안에 또 다른 페이지를 삽입할 수 있는 기능을 제공한다. xss 우회하는 방법에는 여러 가지가 있..
-
Dreamhack - xss-1wargame/Dreamhack 2024. 2. 7. 16:45
[LEVEL 1 - xss-1 - web] XSS 취약점을 이용해 플래그를 획득하는 문제이다. 문제 환경에 접속하면 나오는 첫 화면이다. 플래그 값을 얻기 위해서는 /vuln 엔드포인트에서 발생하는 XSS 취약점을 통해 임의 이용자의 쿠키를 탈취해야 한다. 탈취한 쿠키를 전달받기 위해서는 외부에서 접근 가능한 웹 서버를 사용하거나 문제에서 제공하는 memo 엔드포인트를 사용하면 된다. 공격에 사용할 수 있는 속성으로는 location.href(전체 URL 반환 or URL 업데이트할 수 있는 속성값)와 document.cookie(해당 페이지에서 사용하는 쿠키를 읽고 쓰는 속성값)가 있다. memo 페이지를 사용하여 쿠키를 탈취해 보겠다. flag 엔드포인트에서 익스플로잇 코드를 작성하고 제출을 누르면 ..
-
Dreamhack - session-basicwargame/Dreamhack 2024. 1. 31. 19:04
[LEVEL 1 - session-basic - web] 이 문제는 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스이며, admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있다. 문제 파일을 먼저 다운로드 받으면 app.py가 있다. 일단 아까 코드 중 users에 있던 아이디 guest, 비밀번호 guest로 로그인을 해보고 개발자도구를 열었다. 일단 Application 탭의 Cookies로 넘어와 sessionid 값을 복사해서 메모장에 붙여놓고 우클릭해서 삭제해본다. 그런데 아까 코드에 /admin 페이지가 있는 걸 보긴 했는데 들어가보니까 저렇게 admin의 sessionid값도 다 나와있다. admin의 sessionid 값이 필요할테니 이를 메모장에 복사해놓는다. 좀전에 삭..
-
Dreamhack - cookiewargame/Dreamhack 2024. 1. 31. 18:07
[Beginner - cookie - web] 이 문제는 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스이며, admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있다. 웹해킹 문제 환경에 접속하고 나면 문제 파일을 다운로드 받는다. users에 등록되어 있는 건 guest와 admin 사용자이고, guest의 비밀번호는 guest이며, admin의 비밀번호는 파일에서 읽어온 FLAG인 것을 알 수 있다. 로그인 화면에서 아이디 guest, 비밀번호 guest로 로그인하고 개발자도구를 열어 Application 탭의 Cookies를 보면 Value값이 guest로 바뀐 것을 볼 수 있다. 익스플로잇 하이라이트된 Value값 guest를 admin으로 바꾸어 다시 새로고침을 하면 admin 계정으로..
-
Dreamhack - Carve Partywargame/Dreamhack 2024. 1. 23. 22:48
[Beginner - Carve Party - web] 문제 설명에 호박을 10000번 클릭하고 플래그를 획득하라고 되어있다. 문제 파일 jack-o-lantern.html을 다운로드 받으면 아래와 같은 화면이 나온다. 호박 눌러보면 밑에 10000 숫자가 1씩 감소하면서 호박의 입 형태가 조금씩 진해진다. 진짜 10000번 클릭하면 정답이 나올 것 같긴 한데 너무 노가다니까 html 코드를 vs code로 열어서 살펴본다. 중요한 부분만 캡처했는데, 위의 함수는 호박을 클릭할 때마다 점점 호박의 눈, 코, 입이 진해지게 만든다. 이 호박 클릭 함수 자체를 10000번 반복하면 되는 거니까 원래의 코드 밑에 for문을 추가해준다. 수정한 코드를 저장하고 다시 웹 페이지를 열면 호박의 눈, 코, 입이 완전..
-
Dreamhack - FFFFAAAATTTwargame/Dreamhack 2024. 1. 22. 01:39
[LEVEL 1 - FFFFAAAATTT - forensics] 문제 파일은 드림핵 해당 문제 설명에 나와 있는 링크를 통해 다운로드 받으면 된다. FFFFAAAATTTT.001 압축된 시스템 이미지 파일이 들어있다. 처음에는 언인텐으로 쉽게 풀려고 해봤으나 내 컴퓨터에서는 vscode로 안 열렸다. 그래서 이후 HxD로 .zip 파일 시그니처를 찾아보면서 Local File Header Signature 50 4B 03 04 ~, Central Directory Signature 50 4B 01 02~, End of central directory record Signature 50 4B 05 06~로 각각 4bytes인 걸 알아보았다. .zip만 따로 추출해서 안에 .txt 파일들을 열어보려고 했으나..
-
Dreamhack - lolololologfilewargame/Dreamhack 2024. 1. 11. 00:40
[LEVEL 1 - lolololologfile - forensics] 문제 파일을 다운로드 받고 압축 풀면 Image.E01 파일이 들어있다. 인프런에서 배웠던 거 참고했고 툴은 Autopsy 사용했다. autopsy를 실행시키고 new case 누른 다음 case name은 test1로 했다. 나머진 안 건들고 single-user 확인한 다음, 이후 뜨는 창은 건너뛰고 finish 누른다. add data source 누르고 가장 위에 있는 generate new host ~ ... 선택 후 disk image or vm file을 선택한다. path는 문제 파일 다운로드 했던 경로의 Image.E01로 지정해주고 time zone이 asia/seoul인지 확인한다. 그러면 configure ~ ...
-
Dreamhack - Windows Searchwargame/Dreamhack 2024. 1. 10. 23:56
[LEVEL 1 - Windows Search - forensics] 인프런에서 배웠던 디지털포렌식 Windows Search 관련한 문제 직접 출제하신 것 같아서 풀어보았다. 툴은 WinSearchDBAnalyzer.exe 사용했다. File - open 들어가서 첫번째 옵션 선택하고 문제 파일에서 다운로드 받은 Windows.edb를 넣고 확인하면 UTC설정 나오는데 우리나라 UTC+9니까 설정해주고 save 누른다. 뜨는 창은 디폴트값으로 해주고 좌측 Directory Tree에서 Categorize 열어서 .txt 눌러보니 아래와 같이 나온다. 문제에서 flag.txt 찾으라고 했는데 바로 나왔다. 저거 더블클릭하면 Detail View 창이 뜬다. 쭉 내리다보면 4625-...에서 답을 확인할 ..