[Dreamhack Web - Lv 2] blind-command
Wargame/Dreamhack 2021. 12. 11. 22:59

문제 정보 Read the flag file XD 풀이 힌트 1. 코드 분석 & OPTIONS 메소드 2. 드림핵의 Request bin 기능 이용 (requestbin.net으로 해본 결과 안됨.) 문제 풀이 더보기 더보기 문제 페이지를 보고 난 cmd로 명령어를 보내면 실행되는 거로 추측된다. 하지만 결과값은 출력되지 않고 내가 입력한 값이 출력됐다. 그래서 나는 "서버 단에서 명령어가 실행되고 결과 값을 출력을 안하고 있구나"라는 생각을 하였다. 이로 인해 "그럼 내가 입력한 명령은 실행되니, nc나 curl를 이용하여 내가 만든 서버에 값을 보내면 되지 않을까?"라는 방법을 생각하였다. 내가 생각하였던 서버 단에서 명령어가 실행되는 아닌 것으로 보였다. 도저히 방법을 찾을 수 없어서 드림핵에서 제..

[Dreamhack Web - Lv 2] web-ssrf
Wargame/Dreamhack 2021. 12. 6. 12:22

문제 정보 flask로 작성된 image viewer 서비스 입니다. SSRF 취약점을 이용해 플래그를 획득하세요. 플래그는 /app/flag.txt에 있습니다. 풀이 힌트 1. 소스코드 분석 2. IP 난독화 IP 난독화 참고 사이트 : http://www.reversenote.info/ip-opfuscate/ 문제 풀이 더보기 더보기 문제 페이지를 확인하니, Image Viewer 기능만 있었다. 들어가서 확인하니, 서버 내 리소스의 url를 넘겨주면 이미지 파일로 출력해주는 기능인 듯 싶었다. 한번 문제 페이지의 url를 넣어서 이미지 파일을 요청해보니, Not Found X라는 문구를 가진 이미지가 출력됐다. 이번엔 flag.txt 파일을 호출해봤는데, 깨진 이미지가 출력됐다. 깨진 이미지의 값이..

[Dreamhack Web - Lv 2] web-deserialize-python
Wargame/Dreamhack 2021. 12. 5. 15:43

문제 정보 Session Login이 구현된 서비스입니다. Python(pickle)의 Deserialize 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt 또는 FLAG 변수에 있습니다. 풀이 힌트 1. pickle exploit 참고 사이트 : https://rootable.tistory.com/entry/python-deserialize-vulnerability-in-pickle-module 문제 풀이 더보기 더보기 문제 페이지에 들어가니, Create Session과 Check Session 기능이 있었다. 공격 백터를 확인하기 위해 하나씩 살펴보겠다. Create Session 메뉴는 create_session 페이지로 이동되었다. 해당 페이지는 name, userid, passw..

[Dreamhack Web - Lv 2] file-csp-1
Wargame/Dreamhack 2021. 12. 5. 14:21

문제 정보 문제에서 요구하는 조건에 맞게 CSP를 작성하면 플래그를 획득할 수 있습니다. 풀이 힌트 1. CSP 참고 사이트 : https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP 문제 풀이 더보기 문제 페이지를 들어가니 Test CSP와 Verify CSP 메뉴가 있었다. 어떤 기능인지 확인하지 위해 한번씩 들어가서 확인을 해봤다. Test CSP 메뉴는 test 페이지로 이동되었다. 해당 페이지는 Input에 CSP를 넣어서 서버로 넘기면 검사하여 틀렸는지 맞았는지를 알려주는 페이지로 보인다. Verify CSP 메뉴는 verify 페이지로 이동되었다. 해당 페이지는 Test CSP에서 얻은 CSP를 넣어서 맞으면 Flag를 출력해주는 사이트로 보였다. 일..

[Dreamhack Web - Lv 2] login-1
Wargame/Dreamhack 2021. 12. 5. 04:47

문제 정보 python으로 작성된 로그인 기능을 가진 서비스입니다. “admin” 권한을 가진 사용자로 로그인하여 플래그를 획득하세요. 풀이 힌트 1. Bruteforce 문제 풀이 더보기 더보기 이번 문제도 로그인 기능만 있는 것으로 보인다. 하지만 내 예상과는 다르게 회원가입 기능과 패스워드 찾기 기능이 있었다. 공격 백터를 파악하기 위해 회원가입 기능과 패스워드 찾기 기능을 살펴봤다. 특이한 점은 패스워드 찾기에서 backupCode라는 입력값이 무슨 역활을 하는지 모르겠다. 어떤 기능으로 이루어졌는지 확인하기 위해 회원가입 후 로그인과 패스워드 찾기를 한번씩 해보겠다. test 계정을 생성하니, BackupCode를 얻을 수 있었다. test 계정으로 로그인하니, 오른쪽 상단에 test 계정의 정..

[Dreamhack Web - Lv 2] simple_sqli
Wargame/Dreamhack 2021. 12. 5. 03:56

문제 정보 로그인 서비스입니다. SQL INJECTION 취약점을 통해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 풀이 힌트 1. SQL Injection 기본 원리 문제 풀이 더보기 문제 페이지를 들어가니, Login 기능만 있었다. 공격 백터를 찾기위해 Login 페이지에 들어가니, ID와 PW를 입력할 수 있는 페이지가 나왔다. 문제의 이름이 SQLi인 것을 보니, 아마 공격 백터는 ID와 PW를 입력하는 곳으로 보인다. 일단 guest / guest로 로그인이 되는 지 확인한 결과 guest로 로그인 성공하였다. 어떠한 DBMS를 사용하는지 몰라서 일단 MySQL를 타겟으로 테스트하였다. 하지만 테스트 결과는 wrong이 뜨는 것을 확인할 수 있었다. 혹시 웹서버의..

[Dreamhack Web - Lv 2] simple-ssti
Wargame/Dreamhack 2021. 12. 1. 01:05

문제 정보 존재하지 않는 페이지 방문시 404 에러를 출력하는 서비스입니다. SSTI 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 풀이 힌트 1. Flask config 또는 subprocess.Popen 문제 풀이 더보기 SSTI 취약점에 대해서는 드림핵의 웹해킹 강의를 보고 좀 알고 있었다. 또한 다른 사람들도 자신의 블로그에 SSTI 취약점에 대한 글을 많이 적어서 많이는 알지 못해도 조금이라도 알고 있었다. 라온화이트햇 : https://core-research-team.github.io/2021-05-01/Server-Side-Template-Injection(SSTI) 문제 페이지를 확인해보니, 404Error 페이지와 robots.txt 페이지가..

[Dreamhack Web - Lv 1] Tomcat Manager
Wargame/Dreamhack 2021. 11. 24. 03:41

문제 정보 드림이가 톰캣 서버로 개발을 시작하였습니다. 서비스의 취약점을 찾아 플래그를 획득하세요. 플래그는 /flag 경로에 있습니다. 풀이 힌트 1. 공격 백터 파악 2. Path Traversal 취약점 3. Tomcat의 Manager 설정 파일 문제 풀이 더보기 문제 페이지에 들어가니, 위와 같은 사이트가 나왔다. 공격 백터를 찾기위해 페이지를 조사 했지만, robots.txt도 없고 설명에서도 별다른 내용이 없었다. 그래서 페이지 소스코드 보기를 하여 코드를 살펴보니, /image.jsp이라는 페이지를 찾을 수 있었다. 공격 백터로 /image.jsp의 file 파라미터를 이용하면 될 듯 싶다. /image.jsp의 file 파라미터를 이용하여 index 페이지에서 본 사진을 불려왔다. 내가 ..

[OverTheWire Web - Natas] Level 3 → Level 4
Wargame/OverTheWire 2021. 11. 22. 17:44

Hint 1. robots.txt Write Up 더보기 이번에도 해당 페이지는 아무것도 없다고 한다. 코드를 확인해보니, 주석으로 "더이상의 정보유출은 NO!! 이번에는 구글도 못찾겠다..." 이라는 문구가 있었다. 이것을 보자마자 봇이 접근을 못하게 설정하는 robots.txt 파일이 생각이 났고, 확인하였다. 접근 못하게 하는 디렉터리가 하나 있었다. 해당 디렉터리를 요청하니 디렉토리 인덱싱 취약점이 있었고, users.txt 파일을 발견할 수 있었다. 파일 안에는 natas4의 pw이 있었다. natas4 :: Z9tkRkWmpt9Qr7XrR5jWRkgOU901swEZ

[OverTheWire Web - Natas] Level 2 → Level 3
Wargame/OverTheWire 2021. 11. 22. 17:31

Hint 1. 디렉터리 인덱싱 취약점 Write Up 더보기 해당 페이지에서 아무것도 찾을 수 없다고 한다. 개발자 도구로 코드를 확인해보니, 이미지 파일이 페이지에 출력되고 있었다. pixel.png 파일을 확인을 해봤지만, 별다른 것은 없었다. 혹시 디렉터리 인덱싱 취약점이 있는지 확인하기 위해 files 디렉터리에 접근하였다. 디렉터리 인덱싱 취약점이 있어서 해당 디렉터리의 파일들을 출력하고 있었다. 그 중 수상한 users.txt 파일을 확인하였다. natas3의 pw를 발견할 수 있었다. natas3 :: sJIJNW6ucpu6HPZ1ZAchaDtwd7oGrD14