Wargame(hacking)/Dreamhack (17) 썸네일형 리스트형 Level 1 : File Vulnerability Advanced for linux @app.route('/file', methods=['GET']) def file(): path = request.args.get('path', None) if path: data = open('./files/' + path).read() return data return 'Error !' /file 경로에서는 path 파라미터에 따라, 파일을 읽어온다. 먼저, /etc/passwd 파일을 읽어올 수 있는지 확인해 보았다. API_KEY = os.environ.get('API_KEY', None) def key_required(view): @wraps(view) def wrapped_view(**kwargs): apikey = request.args.get('API_KEY', None) if API_KE.. Level 1 : Carve Party https://dreamhack.io/wargame/challenges/96 Carve Party Description 할로윈 파티를 기념하기 위해 호박을 준비했습니다! 호박을 10000번 클릭하고 플래그를 획득하세요! dreamhack.io 버프 슈트를 intercept on 한 뒤, 호박을 눌러보았다. 패킷이 잡히지 않으므로, 버튼 클릭은 클라이언트 단에서 행해지는 것을 알 수 있다. 그러므로 코드를 분석해 보자. $(function() { $('#jack-target').click(function () { counter += 1; if (counter Level 1 : image-storage https://dreamhack.io/wargame/challenges/38 image-storage php로 작성된 파일 저장 서비스입니다. 파일 업로드 취약점을 이용해 플래그를 획득하세요. 플래그는 /flag.txt에 있습니다. Reference Server-side Basic dreamhack.io ( 드림핵 제공 )웹 쉘 파일을 업로드 후 해당 파일에 접근하여, pwd 명령을 통해 현재 경로 파악. cat ../../../../flag.txt 명령으로 flag 획득. 업로드 페이지가 php 확장자를 필터링 하고 있지 않으니, 위의 php 코드를 작성하여, 업로드 한다. 해당 파일을 클릭 시 system()함수가 실행되어 Flag 획득이 가능하다. Level 1 : 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은 태그의 pattern 속성에 명시된 정규표현식을 나타낸다. 입력에는 문자(대문자 및 소문자 모두), 숫자 및 점만 포함할 수 있고, 입력 길이는 최소 5자 최대 20자여야 한다. 그림 2와 같이 pattern 속성의 값을 변경해 줘 ; 등의 특수(메타) 문자가 입력될 수 있게 만든다. 1. 8.8.8.8";cat "flag.. Level1 : csrf-2 https://dreamhack.io/wargame/challenges/269 csrf-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. 문제 수정 내역 2023.07.18 css, html 제공 및 read_url() 코드 일부가 변경되었습니다. Referen dreamhack.io username = 'admin'으로 로그인 해 FLAG를 획득하는 문제이다 . @app.route("/vuln") def vuln(): param = request.args.get("param", "").lower() xss_filter = ["frame", "script", "on"] for _ in xss_filter: para.. Level 1 : cookie https://dreamhack.io/wargame/challenges/6 cookie 쿠키로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. 플래그 형식은 DH{...} 입니다. Reference Introduction of Webhacking dreamhack.io guest로 로그인 후 쿠키값을 admin으로 변경 후 플래그 획득 Level 1 : csrf-1 https://dreamhack.io/wargame/challenges/26 csrf-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. 문제 수정 내역 2023.07.18 css, html 제공 및 read_url() 코드 일부가 변경되었습니다. Referen dreamhack.io /admin/notice_flag 페이지 관련 코드를 보면 @app.route("/admin/notice_flag") def admin_notice_flag(): global memo_text if request.remote_addr != "127.0.0.1": return "Access Denied" if request.args.ge.. Level 1 : file-download-1 https://dreamhack.io/wargame/challenges/37 file-download-1 File Download 취약점이 존재하는 웹 서비스입니다. flag.py를 다운로드 받으면 플래그를 획득할 수 있습니다. Reference Introduction of Webhacking dreamhack.io 위 그림1 을 보면, file을 upload 하는 디렉터리가 존재한다. 업로드 된 파일을 read 할 수 있는 페이지가 존재함을 그림 2에서 확인할 수 있다. "../ " 와 같이 Path Traversal이 가능한 특수문자가 필터링 되지 않음을 그림 3을 통해 확인할 수 있다. ../flag.py 로 플래그를 획득하였다. 이전 1 2 3 다음