해당 게시물은 DreamHack Web Hacking 강의를 토대로 작성하였습니다. 쿠키, Cookie Connectionless, Stateless 특성 갖는 HTTP에서 상태 유지를 위한 것 Key와 Value로 이뤄진 일종의 단위 서버가 클라이언트에게 쿠키 발급하면 클라이언트는 서버에 요청 보낼 때마다 쿠키 같이 전송, 서버는 클라이언트 요청에 포함된 쿠키 확인해 클라이언트 구분할 수 있다. 더보기 Connectinless → 하나의 요청에 하나의 응답을 한 후 연결을 종료하는 것을 의미 → 특정 요청에 대한 연결은 이후의 요청과 이어지지 않고 새 요청이 있을 때 마다 새로운 연결 맺음 Stateless → 통신이 끝난 후 상태 정보를 저장하지 않는 것을 의미 → 이전 연결에서 사용한 데이터를 다른..
https://dreamhack.io/wargame/challenges/266 session 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Background: Cookie & Session dreamhack.io 쿠키와 세션으로 인증 상태를 관리하는 로그인 서비스에 admin 계정으로 로그인을 성공하면 FLAG를 획득할 수 있는 문제이다. 문제 파일을 다운 받으면 "app.py" 파일을 받을 수 있다. 이를 열어 코드를 확인하면 guest, user 계정 정보가 있고 페이지에서 로그인하면 로그인을 할 수 있다. 더보기 app.py 분석 → users 변수에 guest, user 계정 정보가 있다. ..
https://dreamhack.io/wargame/challenges/409 session-basic Description 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 플래그 형식은 DH{...} 입니다. Reference Background: Cook dreamhack.io 쿠키와 세션으로 인증 상태 관리하는 로그인 서비스에 admin 계정으로 로그인 성공하면 FLAG를 획득할 수 있는 문제다. 문제 파일을 받으면 "app.py" 를 확인할 수 있다. 더보기 app.py 분석 → user 변수에서 guest와 user 계정의 비밀번호를 확인할 수 있다. (guest/guest, user/user1234) → se..
https://dreamhack.io/wargame/challenges/6 cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 플래그 형식은 DH{...} 입니다. Reference Introduction of Webhacking dreamhack.io 주어진 서버에 접속하여 admin 계정으로 로그인하면 FLAG를 얻을 수 있는 문제이다. 문제 받기를 하면 "app.py" 파일을 받을 수 있다. 더보기 app.py 분석 (Dreamhack cookie 문제 강의) 문제를 푼 후 드림핵 웹 강의를 보던 중 cookie 문제 관련 강의에 나온 app.py 분석을 바탕을 작성하였습니다. → 쿠키의 username 입력 값이..
https://dreamhack.io/wargame/challenges/267 devtools-sources 개발자 도구의 Sources 탭 기능을 활용해 플래그를 찾아보세요. 플래그 형식은 DH{...} 입니다. Reference Tools: Browser DevTools dreamhack.io 개발자 도구 Sources 탭을 활용하여 FLAG를 찾는 문제이다. 문제 파일을 받고 페이지를 연 후 개발자 도구 Sources 탭에서 검색으로 DH (Dreamhack 플래그 형식)을 검색하면 FLAG를 찾을 수 있다. webpack:// 안 main.scss 에서 DH 검색 시 FLAG 값을 볼 수 있다. ※ Ctrl + Shift + f 를 사용하면 전체 파일에서 검색이 가능하다.
https://dreamhack.io/wargame/challenges/92/ Secure Mail Description 중요한 정보가 적혀있는 보안 메일을 발견하였습니다. 보안 메일의 비밀번호는 생년월일 6자리인 것으로 파악되나, 저희는 비밀번호 정보를 가지고 있지 않습니다. 비밀번호를 알아내 dreamhack.io 보안 메일의 비밀번호를 알아내서 메일을 읽어 FLAG를 얻는 문제이다. 문제를 받으면 HTML 파일 하나가 주어진다. 문제에서 비밀번호는 생년월일 6자리라고 알려줬다. BruteForce를 통해서 알아낼 수 있을 것 같다. 생년월일 6자리 BruteForce 코드를 작성해서 실행하면 비밀번호 (960229)을 알 수 있고 입력하면 FLAG를 획득할 수 있다. ※ alert 때문에 그냥 작성..
https://dreamhack.io/wargame/challenges/116/ funjs Description 입력 폼에 데이터를 입력하여 맞으면 플래그, 틀리면 NOP !을 출력하는 HTML 페이지입니다. main 함수를 분석하여 올바른 입력 값을 찾아보세요 ! dreamhack.io HTML 페이지 main 함수를 분석하여 올바른 입력 값을 찾아 입력하면 FLAG가 나오는 문제이다. HTML 페이지를 열면 입력하는 부분이 계속 움직인다. 코드에서 moveBox 부분이 움직이게 하는 부분인거 같은데 필요없어 보이니 지워서 안 움직이게 했다. 빈 칸에 값을 넣고 submit 버튼을 클릭하면 해당 값을 비교하여 FLAG 또는 NOP ! 을 출력하는 것 같다. 원하는 값과 다른 값을 입력하면 NOP ! 문..
https://dreamhack.io/wargame/challenges/96/ Carve Party Description 할로윈 파티를 기념하기 위해 호박을 준비했습니다! 호박을 10000번 클릭하고 플래그를 획득하세요! dreamhack.io 문제를 받아 html 파일을 열면 호박 그림이 있고 호박을 10000번 클릭하면 플래그를 획득할 수 있다. 하지만 호박을 10000번 클릭하기는 싫다. html 파일을 열어서 코드를 확인해봤다. html 파일에서 호박 클릭 시 1번 counter 값이 올라가는 것을 확인하였다. 이 값을 한 번 클릭 시 10000으로 바꾸고 실행을 해봤는데 FLAG가 이상한 문자열로 나오는 것을 확인하였다. 코드에서 if 문을 보면 counter 값이 10000 이하이고 count..