[Dreamhack Web - Lv 1] xss-1
Wargame/Dreamhack 2021. 10. 23. 13:49

문제 정보 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 풀이 힌트 1. 공격 백터 파악 2. XSS 기본 지식 문제 풀이 더보기 더보기 문제에 접속하니, 여러 개의 페이지가 나왔고 하나하나 들어가서 공격 백터를 찾아보겠다. 1. vuln(xss) page 해당 페이지에 들어가 보니, vuln?param=으로 열렸다. param에 들어간 값이 페이지에 그대로 적용이 돼서 Alert가 떴다. 값을 수정해서 서버에 보내니, 수정된 값도 적용이 됐다. 2. memo 페이지에 들어가니, memo?memo=hello로 열렸다. 그리고 회색 박스 안에 hello가 적힌 페이지가 출력되었다. 아마도 ..

[Dreamhack Web - Lv 1] welcome
Wargame/Dreamhack 2021. 10. 15. 18:34

문제 정보 이 문제는 서버에서 작동하고 있는 서비스(welcome)의 바이너리와 소스 코드가 주어집니다. "접속 정보 보기"를 눌러 서비스 정보를 얻은 후 플래그를 획득하세요. 서버로부터 얻은 플래그의 내용을 워게임 사이트에 인증하면 점수를 획득할 수 있습니다. 플래그의 형식은 DH{…} 입니다. 풀이 힌트 Netcat 사용 문제 풀이 더보기 네트워크 툴을 이용하여 서버에 요청을 하면, Flag를 반환하는 문제인 것으로 보인다. Netcat을 설치하여, 문제 서버에 접속하니, 바로 Flag를 보내줬다.

[Dreamhack Web - Lv 1] simple_sqli
Wargame/Dreamhack 2021. 10. 15. 16:35

문제 정보 로그인 서비스입니다. SQL INJECTION 취약점을 통해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 풀이 힌트 1. 공격 백터 파악 2. DBMS 파악 3. SQLi 이해 문제 풀이 더보기 Home, Abuot, Contact 메뉴는 아무 작동도 안한다. Login에 들어가니, 로그인 페이지가 나왔다. 아마 로그인 기능에서 SQLi를 시도하라는 것으로 보인다. 나는 일단 guest/guest로 로그인을 시도하였다. 그 결과 guest로 로그인이 성공하였다. 그럼 admin으로 로그인을 하는게 인지상정인데, admin으로 SQLi하기 전에 어떤 DB을 쓰는지 또 쿼리문이 어떻게 생겼는지 추측을 해야한다. 어떤 DB를 쓰는지에 대한 추측은 이번 문제에선 추측을 ..

[Dreamhack Web - Lv.1] pathtraversal
Wargame/Dreamhack 2021. 10. 14. 20:42

문제 정보 사용자의 정보를 조회하는 API 서버입니다. Path Traversal 취약점을 이용해 /api/flag에 있는 플래그를 획득하세요! 풀이 힌트 1. 공격 백터 파악 2. Path traversal 공격 문제 풀이 더보기 더보기 문제 페이지에 들어가니 무슨 기능을 하는 페이지인지 모르겠다. Home, About, Contact 메뉴를 클릭하니, 아무 반응이 없었다. Get User Info을 클릭하니 위 사진과 같은 페이지로 이동하였다. 어떤 기능을 하는지 확인하기 위해서 View 버튼을 클릭하니 guest 계정의 정보가 나왔다. 코드를 확인해보니, userid에 넣은 값이 users에 있는 값으로 변경되어 서버에 넘어간다. 그래서 버튼을 누르면 잠깐 guest에서 0으로 변경되었는데, 값이 ..

[Dreamhack Web - Lv 1] cookie
Wargame/Dreamhack 2021. 10. 14. 20:25

문제 정보 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 풀이 힌트 브라우저 쿠키 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각임. 브라우저는 그 데이터 조각들을 저장해 놓았다가, 동일한 서버에 재 요청 시 저장된 데이터를 함께 전송함. 쿠키는 두 요청이 동일한 브라우저에서 들어왔는지 아닌지를 판단할 때 주로 사용함. 이를 이용하면 사용자의 로그인 상태를 유지할 수 있음. 상태가 없는(stateless) HTTP 프로토콜에서 상태 정보를 기억시켜주기 때문임. 문제 풀이 더보기 문제 페이지에 접속하니, 엄청 간단한 페이지가 나왔다. Home, About 메뉴을 클릭해봤지만 아무 반응이 없었다. Login을 클릭하니, ..