Category

InfoSec/Wargame

[워게임] csrf-2 문제 풀이

1. 엔트포인트 분석/vulncsrf1과 마찬가지로 파라미터를 소문자로 변경 후에 xss 공격을 막기 위해 필터링을 합니다.@app.route("/vuln")def vuln(): param = request.args.get("param", "").lower() # 이용자가 입력한 param 파라미터를 소문자로 변경 xss_filter = ["frame", "script", "on"] # 세 가지 필터링 키워드 for _ in xss_filter: param = param.replace(_, "*") # 이용자가 입력한 값 중에 필터링 키워드가 있는 경우, '*'로 치환 return param /flagGET 요청일 경우에는 flag 페이지를 렌더링..

InfoSec/Wargame

[워게임] csrf-1 분석 및 풀이

1.  엔드포인트 분석/vuln사용자가 입력 받은 파라미터를 소문자로 변경 후에, 필터링을 통해 xss 공격을 차단합니다.@app.route("/vuln") # vuln 페이지 라우팅 (이용자가 /vuln 페이지에 접근시 아래 코드 실행)def vuln(): param = request.args.get("param", "").lower() # 이용자가 입력한 param 파라미터를 소문자로 변경 xss_filter = ["frame", "script", "on"] # 세 가지 필터링 키워드 for _ in xss_filter: param = param.replace(_, "*") # 이용자가 입력한 값 중에 필터링 키워드가 있는 경우, '*'로 치환 return ..

InfoSec/Wargame

[워게임] xss-2 : img onerror 풀이

문제 설명render_template을 우회하여 플래그 값을 구하라 페이지 설명모든 엔드포인트는 xss-1 문제와 똑같은 구성으로 이루어져 있다. 아래의 포스트를 참고하여 파악해보자https://e-dl.tistory.com/65 [워게임] xss-1 : innerHTML 풀이문제 설명XSS 기법을 사용하여 쿠키에 저장된 플래그 값을 탈취하자. 페이지 설명/ : 인덱스 페이지입니다./vuln : 이용자가 입력한 값을 출력합니다./memo : 이용자가 메모를 남길 수 있으며, 작성e-dl.tistory.com 달라진 점은 /vuln 의 코드이다@app.route("/vuln")def vuln(): return render_template("vuln.html")사용자가 입력한 param 값을 바로 리턴..

InfoSec/Wargame

[워게임] xss-1 : <script> 풀이

문제 설명XSS 기법을 사용하여 쿠키에 저장된 플래그 값을 탈취하자. 페이지 설명/ : 인덱스 페이지입니다./vuln : 이용자가 입력한 값을 출력합니다./memo : 이용자가 메모를 남길 수 있으며, 작성한 메모를 출력합니다./flag : 전달된 URL에 임의 이용자가 접속하게끔 합니다. 해당 이용자의 쿠키에는 FLAG가 존재합니다./vuln 페이지에 접속하면 param 자리에 script 를 작성한 것이 제대로 작동하는 것을 확인할 수 있다.여기서 vuln의 코드를 보게 되면 사용자가 입력한 파라미터를 바로 return 하기 때문에 이것이 바로 XSS 취약점이 될 수 있는 것이다.@app.route("/vuln")def vuln(): param = request.args.get("param", ..

OS/Linux

[Linux] M3 맥북에 도커로 우분투 설치

맥북은 윈도우의 WSL 같은 프로그램이 없기 때문에 가볍게 돌리기 위해 도커를 사용하여 우분투를 설치해보겠습니다. 1. Docker 설치우선 아래의 링크에서 각자 사양에 맞는 dmg 파일을 다운로드 해주세요https://docs.docker.com/desktop/install/mac-install/ MacInstall Docker for Mac to get started. This guide covers system requirements, where to download, and instructions on how to install and update.docs.docker.com만약 cpu 가 intel 이시면 intel 버전을, M1~3에 해당하시면 Apple Silicon 버전을 다운로드 해주시면..

InfoSec/Web

[Web] Session Hijacking

지난 글에서 쿠키와 세션에 대해 알아 보았는데요 간략히 요약하자면 쿠키와 세션의 동작과정은 이렇습니다.서버에서 클라이언트에게 세션 ID를 발급한다클라이언트는 발급 받은 세션 ID와 함께 로그인을 한다.서버는 해당 로그인 정보를 세션 ID에 해당되는 인증 정보에 저장한다.서버는 클라이언트에게 인증 상태를 전송한다.클라이언트가 서버에게 요청을 전송할 때, 세션ID 가 저장되어 있는 쿠키와 인증 상태가 저장되어있는 쿠키를 함께 전송한다.서버는 클라이언트에게 받은 세션ID로 이에 해당 되는 인증 정보와 인증 상태가 일치하는지 확인한다.서버는 HTTP의 비연결성과 무상태성 때문에 클라이언트에게 상태 정보인 쿠키를 발급하고, 해당 쿠키의 변조를 막기 위해 세션이 존재한다는 사실까지 알 수 있었습니다. 하지만 이번 ..

Computer Science/Network

[Web] Cookie와 Session

HTTP (HyperText Transfer Protocol) 이란?지난 글에 웹에서 클라이언트와 서버가 통신하기 위해 HTTP 라는 통신규약을 사용한다는 것을 알려드렸습니다.그러면 쿠키와 세션은 어떨 때 필요한 정보일까요?HTTP 에서 아래와 같이 두 가지 큰 특징이 있습니다.비연결성(connectionless): 하나의 요청에 하나의 응답을 한 후, 둘 사이에 연결을 끊는 것무상태성(stateless): 통신이 끝난 후 상태 정보를 저장하지 않는 것이 때문에 서버는 요청을 보낸 클라이언트가 누구인지 식별할 수 없습니다. 예를 들자면, admin 이라는 사용자로 로그인을 완료했을 때, 클라이언트가 서버에 특정 요청을 할 때마다 자신의 아이디를 말하지 않는 이상 서버는 클라이언트가 어떤 사용자인지 특정할..

Computer Science/Network

[Web] 웹 브라우저와 개발자 도구 사용법

웹 브라우저란?웹 브라우저는 웹 브라우저 사용자인 클라이언트 대신 서버와 HTTP 통신을 대신 수행해주고,수신한 리소스를 시각화하여 클라이언트에게 뛰어난 이용자 경험 (User eXperience, UX)를 제공해주는 소프트웨어 중 하나입니다. 예를 들어 사용자가 브라우저의 주소창에 naver.com을 입력했을 때, 웹 브라우저는 다음과 같은 동작들을 수행합니다.URL 분석  : 주소창에 입력된 주소 (naver.com)을 해석DNS 요청 : naver.com 에 해당하는 주소 탐색 서버에 요청 : HTTP를 통해서 naver.com에 리소스 요청서버의 응답 수신 : naver.com 의 HTTP 응답 수신리소스 다운로드 및 웹 렌더링 : HTML, CSS, Javascript로 시각화 URLURL 은 ..

agor
'분류 전체보기' 카테고리의 글 목록