해킹 공부 54

Dreamhack_image-storage(파일 업로드 공격)

https://dreamhack.io/wargame/challenges/38/ image-storage php로 작성된 파일 저장 서비스입니다. 파일 업로드 취약점을 이용해 플래그를 획득하세요. 플래그는 /flag.txt에 있습니다. Reference Server-side Basic dreamhack.io 1. 문제 링크 접속, 공격 코드 작성 문제 링크로 접속하면 파일을 업로드하는 페이지가 나온다. 페이지 이름은 Image Storage라고 되어 있지만 업로드 파일 확장자가 제한되어 있지 않기 때문에 어떤것이든 업로드할 수 있는 취약점이다. 드림핵에서 예시로 제공된 php코드이다. 자세히 뜯어보면 파일이 열리면 cmd창을 열게 한다는 내용으로 복잡하진 않지만 백지 상태에서 이 코드를 혼자 생각해내지는 ..

Dreamhack_command-injection-1

https://dreamhack.io/wargame/challenges/44/ command-injection-1 특정 Host에 ping 패킷을 보내는 서비스입니다. Command Injection을 통해 플래그를 획득하세요. 플래그는 flag.py에 있습니다. Reference Introduction of Webhacking dreamhack.io 1. 문제 링크 접속, 페이지 작동 확인 문제 링크 접속 첫 화면 상단 Ping탭 클릭 시 화면 여기에 8.8.8.8을 입력해 어떻게 작동하는지 보기로 했다. ping 전송 결과 내용이 확인된다. 2. 메타문자 입력 검사 우회 파일 목록을 확인해 보고자 리눅스 다중명령어(하나의 라인에서 여러 명령어를 실행할 수 있도록 하는 기호)인 세미콜론(;)을 넣어보려..

Dreamhack_csrf-1(CSRF 취약점)

https://dreamhack.io/wargame/challenges/26/ csrf-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. Reference Client-side Basic dreamhack.io 이 문제는 강의의 해설을 따라가며 해결했다. 코드에 대한 자세한 해설은 웹해킹로드맵/stage5/[함께실습]CSRF/2.웹서비스 분석에 있으니 이번 writeup은 코드 분석 없이 문제 풀이만 작성했다. 코드 분석 결과 이 문제의 취약점은 XSS공격을 방지하는 장치를 했지만 CSRF공격은 방지하지 못했다는 점이다. 1. 문제 링크 접속, 취약점 발생 여부 확인 문제에서 주어진 링크에 접속하면 왼쪽과 같은 화면을 볼 수 있다. 문제 ..

Dreamhack_csrf-2(CSRF 취약점)

https://dreamhack.io/wargame/challenges/269/ csrf-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. Reference Client-side Basic dreamhack.io 1. 소스코드 내 사용자 정보 확인 주어진 소스코드 내용 중 사용자에 대한 정보가 있다. id/pw가 guest/guest, admin/찾아야 할 flag값인 두 사용자의 정보이다. 이것을 이용해 로그인을 시도해 보기로 했다. 2. admin으로 로그인 위한 pw 알아내기 login에 들어가서 guest/guest로 로그인 한 결과이다. flag를 획득하려면 admin으로 로그인해야 하는 것 같다. 문제에서 주어진 소스코드 중 아..

dreamhack xss-2(XSS 방화벽 우회)

https://dreamhack.io/wargame/challenges/268/ xss-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. Reference ClientSide: XSS dreamhack.io 접속 정보 보기 버튼을 누르고 나타난 링크로 접속하니 xss-1과 똑같은 페이지가 나왔다. vuln(xss) page로 들어가니 xss-1과는 다르게 팝업창이 뜨지 않았다. 인터넷에 검색해보니 xss 방화벽 우회 방법을 통해 풀 수 있다고 한다. xss-1과 마찬가지로 cookie가 memo로 전송되도록 하면 된다. flag페이지에서 입력 값을 받는 부분에 아래와 같이 입력해준다. 그..

dreamhack xss-1(XSS 취약점)

https://dreamhack.io/wargame/challenges/28/ xss-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. Reference Client-side Basic dreamhack.io 문제 파일 다운롣 후 접속 정보 보기 누르고 나타나는 링크로 이동 위와 같은 페이지가 열린다. 첫번째 vuln(xss) page 클릭 시 아래와 같은 창이 뜬다. memo클릭 시 hello출력이 나온 화면이 보이고, flag클릭 시 아래와 같이 입력값을 제출 할 수 있는 곳이 나타난다. 여기에 알맞은 값을 넣으면 flag를 얻는 것으로 보인다. 문제 풀이를 위해 주어진 문제 파일에서..

Dreamhack_session-basic(SessionId)

문제 링크 https://dreamhack.io/wargame/challenges/409/ session-basic Description 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Background: Cookie & Session dreamhack.io 1. 문제 파일 다운로드, 문제 내용 확인 문제 파일을 다운로드 하면 app.py파일이 있다. app.py의 코드를 간단히 살펴보니 '아이디 : 비밀번호'로 보이는 내용이 있다. 이것을 이따 적용해 보기로 했다. 접속 정보 보기를 클릭하면 나오는 링크에 접속하고 login버튼을 누르면 아래와 같은 페이지로 이동한다. 이 페이지에서 위에서 봤던 코..

Dreamhack_cookie(쿠키)

문제 링크 https://dreamhack.io/wargame/challenges/6/ cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking dreamhack.io 1. 문제 파일 다운로드, 문제 내용 확인 문제 파일을 다운로드 받으면 app.py파일이 나온다. 단순 실행은 아무것도 열리지 않고, 코드를 살펴보기로 했다. 코드 내용을 보면 users는 guest와 admin이 있다. admin으로 접속해야 플래그를 얻을 수 있는 구조이다. 간단한 힌트를 얻었으니 위 사진 문제 페이지에서 접속 정보 하단 링크로 접속했다. login으로 이동해서 usernam..

Dreamhack_devtools-sources(개발자 도구)

문제 링크 https://dreamhack.io/wargame/challenges/267/ devtools-sources 개발자 도구의 Sources 탭 기능을 활용해 플래그를 찾아보세요. Reference Tools: Browser DevTools dreamhack.io 1. 문제 파일 다운로드 문제 파일을 다운로드하고 압축을 해제하면 아래와 같이 파일 목록이 나온다. 종류가 다양한 파일이 많아 어떤 것 부터 접근해야 할 지 혼란스러웠다. 지금 공부하는것이 웹 해킹이니까 html파일 중 아무거나 하나 골라 실행해보기로 했다. 나는 project파일을 실행했다.(html파일이면 아무거나 상관 없음) 위와 같은 웹 페이지가 나왔다. 2. 개발자 도구 진입, 검색 내가 접속한 브라우저는 크롬이므로 F12를 ..

Dreamhack_Carve Party(개발자 도구)

문제 링크 https://dreamhack.io/wargame/challenges/96/ Carve Party Description 할로윈 파티를 기념하기 위해 호박을 준비했습니다! 호박을 10000번 클릭하고 플래그를 획득하세요! dreamhack.io 1. 문제 파일 다운로드 문제 파일을 다운로드하면 zip파일이 다운된다. 압축을 풀면 아래와 같이 HTML파일이 보인다. 파일을 열어보면 호박을 찌르는 페이지가 나온다. 호박을 클릭하면 아래 숫자가 하나씩 줄어든다. 2. 개발자 모드 진입 크롬 브라우저로 페이지를 보고 있으므로 F12를 눌러 개발자 모드로 진입한다. 상단 탭 중 빨간 네모 안에 있는 Sources 탭으로 들어가 소스파일의 내용을 살펴봤다. 클릭 횟수는 counter 변수로 측정되는 것으..