본문 바로가기

분류 전체보기

(304)
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 로 플래그를 획득하였다.
Level 1 : simple_sqli https://dreamhack.io/wargame/challenges/24 simple_sqli 로그인 서비스입니다. SQL INJECTION 취약점을 통해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. Reference Server-side Basic dreamhack.io 문제에서 주어진 파이썬 파일의 로그인 관련 함수를 통해 어떻게 ID,PW가 인자로 전달되는지 파악한다. PW의 값과 상관 없이 , userid = 'admin' 이라면 플래그를 획득할 수 있기에, 위 그림 1 과 로그인 폼에 " or userid = "admin" --을 Injection 해준다. 반면에, 아래 그림2 는 플래그를 획득할 수 없다. res = query_db(f..
(Python) boj_3003 https://www.acmicpc.net/problem/3003 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 첫째 줄에 동혁이가 찾은 흰색 킹, 퀸, 룩, 비숍, 나이트, 폰의 개수가 주어진다. 이 값은 0보다 크거나 같고 10보다 작거나 같은 정수이다. www.acmicpc.net 코드 1 black = [1,1,2,2,2,8] white = list(map(int,input().split())) for i in range(6): if black[i] != white[i]: white[i] = (black[i] - white[i]) print(white[i],end=' ') else: white[i]=0 print(white[i],end=' ') 코드 2 black = [..
(Python) boj_28061 https://www.acmicpc.net/problem/28061 28061번: 레몬 따기 성우는 숲에서 레몬을 따와야 한다. 숲은 하나의 수직선으로 표현할 수 있고, 여기에는 레몬 나무 \(N\)그루가 \(x=1\)부터 \(x=N\)까지 일정한 간격으로 자라 있다. 성우는 현재 \(x=0\)에 있으며, 집은 www.acmicpc.net 코드 1 N = int(input()) arr = list(map(int,input().split())) home = len(arr)+1 j = 1 for i in range(N): diff = home - j arr[i] -= diff j+=1 print(max(arr)) 변수 diff는 거리 차에 따라 빠져나오는 레몬 개수를 의미한다. 배열..