웹해킹(15)
-
cookie & session
cookie key와 value로 이뤄진 일종의 단위 서버가 클라이언트에게 쿠키를 발급하면, 클리이언트는 서버에 요청을 보낼 때마다 쿠리를 같이 전송 클라이언트의 정보 기록과 상태 정보를 표현하는 용도로 사용 클라이언트의 브라우저에 저장되고 요청에 포함되는 정보 클라이언트는 쿠키 정보를 변조해 서버에 요청을 보낼 수 있음 session 쿠키에 인증 상태를 저장하지만 클라이언트가 인증 정보를 변조할 수 없게 하기 위해 사용 인증 정보를 서버에 저장하고 해당 데이터에 접근할 수 있는 키(==session ID)를 만들어 클라이언트에 전달하는 방식으로 작동 > 브라우저는 session ID를 쿠키에 저장하고 이후에 HTTP 요청을 보낼 때 사용 > 서버는 요청에 포함된 키에 해당하는 데이터를 가져와 인증 상태..
2023.10.13 -
DreamHack [Web] file-download-1
웹해킹 워게임입니다. 예시에 적힌 문장 그대로 입력파일 생성되고 read?name=my-first-memo 이름으로 파일 읽기 /read?name=으로 읽으니 flag.py를 써보았는데 소스코드#!/usr/bin/env python3import osimport shutilfrom flask import Flask, request, render_template, redirectfrom flag import FLAGAPP = Flask(__name__)UPLOAD_DIR = 'uploads'@APP.route('/')def index(): files = os.listdir(UPLOAD_DIR) return render_template('index.html', files=files)@APP.rou..
2023.09.19 -
Webhacking.kr old-17
웹해킹.kr 17번 문제입니다.스크립트에 있는 식을 계산해야될 것 같습니다.쨘 !!한번에 계산하기~~~이상.//
2023.09.05 -
DreamHack [web] command-injection-1
web 워게임입니다. ping 페이지 접속ip를 입력하면 ping을 보내는 형태 실패 pattern = " [A-Z a-z 0-9 .] {5, 20} "해당 패턴은 정규 표현식이다.알파벳 대소문자, 숫자, 마침표만으로 이루어진 길이가 5이상 20이하는 문자열을 의미한다. 그렇기에 ;와 같은 메타 문자는 요청한 형식과 일치하지 않는다는 문구가 뜨는 것임을 알 수 있다.
2023.08.30 -
command injection
injection: 악의적인 데이터를 프로그램에 입력하여 이를 시스템 명령어, 코드, 데이터베이스 쿼리 등으로 실행되게 하는 기법 command injection: 이용자의 입력을 시스템 명령어로 실행하게 하는 취약점 - 명령어를 실행하는 함수에 이용자가 임의의 인자를 전달할 수 있을 때 발생 - 리눅스 셸 프로그램이 지원하는 다양한 메타문자로 인해, 이용자의 입력을 제대로 검사하지 않으면 임의 명령어가 실행될 수 있다 메타문자 설명 ex ' ' 명령어 치환 ' ' 안에 들어있는 명령어를 실행한 결과로 치환 $ echo `echo theori`theori $() 명령어 치환 $() 안에 들어있는 명령어를 실행한 결과로 치환. 중복 사용 가능 ( echo $(echo $(echo theori)) ) $ e..
2023.08.30 -
DreamHack [web] cookie
dreamhack webhacking level1 문제입니다.login을 누르면 username과 password를 입력하게 되어있습니다. 문제파일 코드입니다.#!/usr/bin/python3from flask import Flask, request, render_template, make_response, redirect, url_forapp = Flask(__name__)try: FLAG = open('./flag.txt', 'r').read()except: FLAG = '[**FLAG**]'users = { 'guest': 'guest', 'admin': FLAG}@app.route('/')def index(): username = request.cookies.get('u..
2023.08.27