| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- session hijacking
- php
- 보안
- cybersecurity
- 워게임
- webhacking
- 한국정보기술연구원
- cookie tampering
- 웹
- file download vulnerability
- 보안교육
- KITRI
- 드림핵
- loose comparison
- 화이트해커
- dev-tools
- cookie
- php7.4
- 화이트햇스쿨
- path traversal
- WEB
- web-misconf-1
- Dreamhack
- WarGame
- Cross Site Script
- type juggling
- 타입 변환 취약점
- WhiteHatSchool
- 웹해킹
- 정보보안
- Today
- Total
목록분류 전체보기 (18)
xmi1e-vir.log
1️⃣ Level 1문제링크여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다.XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다.플래그 형식은 DH{...} 입니다.📌문제 파악웹사이트에 접속하면 vuln(xss) page, memo, flag 페이지 이렇게 3개로 연결되는 하이퍼링크가 나온다.vuln(xss) pagememoflag /flag 페이지에 접속하면 param값을 입력할 수 있는 폼이 나온다./flag @app.route("/flag", methods=["GET", "POST"]) def flag(): if request.method == "GET": return render_template("flag.h..
1️⃣ Level 1문제링크쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다.admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다.플래그 형식은 DH{...} 입니다. 📌문제 파악새싹의 session과 유사한 문제이다.사용자 계정 정보주어진 사용자 계정 정보이다.users = { 'guest': 'guest', 'user': 'user1234', 'admin': FLAG}메인페이지 (index)admin으로 로그인을 성공하면 flag가 출력된다.@app.route('/')def index(): session_id = request.cookies.get('sessionid', None) try: # get username from sess..
🌱 Biginner문제링크php 7.4로 작성된 페이지입니다.알맞은 Input 값을 입력하고 플래그를 획득하세요.플래그 형식은 DH{} 입니다. 📌문제 파악index.phpinput1과 input2를 입력하여 submit하면 check.php로 제출된다. Enter the correct Input. flag가 존재하는 flag.php로 직접 이동하는 것은 방지되어있다. check.php이 코드가 핵심인데, 우리는 input1과 input2에 해당 코드에서 정의 해놓은 규칙에 부합하는 값을 입력해야한다.정리해보면 다음과 같다.두 입력값..
🌱 Biginner문제링크기본 설정을 사용한 서비스입니다.로그인한 후 Organization에 플래그를 설정해 놓았습니다. 📌문제 파악제공되는 코드는 Dockerfile, deploy/defaults.ini 외에는 없다.VM을 생성하면 다음과 같은 웹사이트에 접속할 수 있다. 비밀번호와 아이디를 모르면 아무것도 할 수 없다. 📌문제 풀이Dockerfile을 열어보니 의미있는 내용은 없었다.반면, defaults.ini을 열어보니 계정 정보를 얻을 수 있었다. 해당 정보로 로그인 해서 문제의 지시대로 'Server Admin → Settings → auth.anonymous → org_name' 로 이동하면 flag 정보를 얻을 수 있다. 정말 어이없겠지만, 사실 나는 그냥 찍어서 admin/admi..
🌱 Biginner문제링크쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다.admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다.📌문제 파악주어진 페이지는 username가 admin인 경우에 flag를 제공해준다.@app.route('/')def index(): session_id = request.cookies.get('sessionid', None) try: username = session_storage[session_id] except KeyError: return render_template('index.html') return render_template('index.html', text=f'Hello {userna..
🌱 Biginner문제링크STEP 1~2를 거쳐 FLAG 페이지에 도달하면 플래그가 출력됩니다.모든 단계를 통과하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다.플래그 형식은 DH{...} 입니다. 📌문제 파악주어진 웹사이트로 접속하면 아래와 같이 param, param2를 입력하는 창이 나온다.📌 문제 풀이코드를 살펴보면서 어떻게 풀어야할지 고민해보자Step1웹사이트 URL의 파라미터로 뭐가 들어갈지 입력하는 과정param: getget / param2: rerequest 넣어야 step2로 넘어갈 수 있음@app.route("/step1", methods=["GET", "POST"])def step1(): if request.method == "GET": ..
🌱 Biginner문제링크날아다니는 글자들을 멈춰서 전체 문자열을 알아내세요! 플래그 형식은 DH{전체 문자열} 입니다.❗첨부파일을 제공하지 않는 문제입니다.❗플래그에 포함된 알파벳 중 x, s, o는 모두 소문자입니다.❗플래그에 포함된 알파벳 중 C는 모두 대문자입니다. 📌문제 파악따로 주어진 코드는 없으며 웹페이지를 열어보면 빠르게 글자들이 이동하고 있는 장면을 볼 수 있다.개발자 모드를 열어서 코드를 확인해보면 다음 부분이 글자를 이동시키는 부부분에 해당한다. 코드는 다음과 같이 작동된다.이미지 생성 및 설정img_files라는 배열에 20개 이미지 파일의 경로를 저장for 반복문을 통해 20개의 태그를 동적으로 생성생성된 각 이미지에 너비와 높이를 10픽셀로 지정하고, 'box'라는 ID를 ..
🌱 Biginner문제링크php로 작성된 페이지입니다.알맞은 Nickname과 Password를 입력하면 Step 2로 넘어갈 수 있습니다.Step 2에서 system() 함수를 이용하여 플래그를 획득하세요.플래그는 ../dream/flag.txt 에 위치합니다.플래그의 형식은 DH{...} 입니다. 📌문제 파악닉네임이랑 패스워드를 입력해서 제출하면 step2로 넘어간다/ PHPreg Step 1 Step 2 Step 1 : Open the door & Go to Step 2 !! ..
🌱 Biginner문제링크문제에서 요구하는 형식의 문자열을 입력하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다.플래그 형식은 DH{...} 입니다. 📌문제 파악주어진 정규표현식에 부합하는 값을 입력하면 flag를 얻을 수 있다.@app.route("/", methods = ["GET", "POST"])def index(): input_val = "" if request.method == "POST": input_val = request.form.get("input_val", "") m = re.match(r'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+', input_val) if m: ..
🌱 Biginner문제링크사용자의 정보를 조회하는 API 서버입니다.Path Traversal 취약점을 이용해 /api/flag 에 있는 플래그를 획득하세요! 📌문제 파악문제 이름이 pathtraversal인 만큼 해당 개념에 대해서 짚고 넘어가야 한다.Path Traversal이 개념은 앞선 file-download-1 문제에서도 다뤘던 개념이다.url path 조작을 통해서 server 파일 시스템 내부를 이리저리 돌아다니는것이 핵심이다.문제 풀이로 다시 돌아가서,주어진 웹사이트에 접속해서 /get_info로 들어가면 유저 정보가 나온다.userid를 입력하여 submit 하는 부분이 있으므로 이를 이용할 수 있을것 같다. 코드를 확인해 보면 view 버튼을 눌러 사용자 입력이 전송되는 순간 re..