[Dreamhack] 기초기초 문제 모음 1
baby-linux
문제로 들어가보면 echo $(빈 칸…) 이렇게 echo 안에 무언가를 입력하면 그걸 서버에서 실행해준다.
그래서 저 안에다 cat *.txt
를 넣으면 txt 형식의 파일을 출력해주기 때문에 flag가 어디 있는지 알려주는 텍스트 파일 하나가 출력된다.
Where is Flag? ./dream/hack/helloflask
이렇게 나오는데, ./dream/hack/hello
에 flag 파일이 있음을 알 수 있다. (경로는 helloflask가 아니라 hello이다)
그래서 적당히 cat ./dream/hack/hello/*.txt
하면 flag가 나온다.
cookie
쿠키 변조하는 기초 문제이다. 주어진 문제 사이트로 들어가서 일단 guest로 로그인을 한 뒤에, 개발자 도구 같은 거 들어가서 쿠키 값을 admin으로 변조하면 admin으로 로그인된 것으로 간주되어 flag가 뜬다.
devtools-sources
주어진 html 파일 소스에서 DH가 들어간 부분을 잘 검색해서 찾으면 된다.
file-download-1
주어진 app.py
파일과 웹사이트를 보면 알 수 있듯이 사용자로부터 제목과 내용을 입력받아 메모를 등록하고, 등록한 메모를 읽을 수 있게 해 주는데,
업로드 시에는 ..
같은 걸 입력할 수 없게 잘 막아놨다.
그래서 이상한 내용을 업로드해서 뚫는건 안 되고, 읽을 때(/read
) file download 취약점을 잘 이용하면 된다.
Postman 같은 걸로 주어진 서버에 적절한 파라미터를 달아 GET 메서드를 요청할 수 있는데,
서버 페이지의 /read
페이지에서 name 파라미터를 ../flag.py
으로 지정하고 GET 요청을 보내면 된다.
즉 http://host3.dreamhack.games:{주어진 포트 번호}/read?name=../flag.py
이런 식으로…
64se64
주어진 html 소스를 보면 딱 봐도 base64로 인코딩된 것 같은 문자열이 나온다. 이걸 다시 디코딩해주면 된다.