선릉역 1번 출구

Open redirect 본문

Hacking & Security/Hacking

Open redirect

choideu 2022. 5. 17. 20:45

Open redirect: 공격 대상이 웹 사이트를 방문했을 때 해당 웹 사이트가 다른 도메인의 URL을 브라우저로 전달하는 공격

-> 특정 도메인의 신뢰 관계를 악용해 공격 대상을 악성 웹 사이트로 유인함

 

*오픈 리디렉션을 다른 공격과 함께 활용하면 공격자가 악성 사이트에서 멀웨어를 배포하거나 OAuth 토큰을 훔칠 수 있음 그러나 오픈 리디렉션 자체는 영향력이 적은 취약점임(OWASP에서도 오픈 리디렉션을 취약점 목록에서 제외함)

 

 

1. 파라미터 기반 공격

예시) 한 사이트(A)에서 다른 사이트(B)로 리디렉션할 수 있는 기능이 있다고 가성

https://www.A.com/?redirect_to=https://www.B.com

여기서 이 URL에 방문하면 구글은 GET HTTP 요청을 수신하고 redirect_to 파라미터의 값을 사용해 브라우저에게 리디렉션하려는 위치를 전달함

https://www.A.com/?redirect_to=https://www.attacker.com

redirect_to 파라미터의 값 공격자의 URL로 변경

이때 파라미터 값을 검증하지 않는다면 open redirect의 공격이 성공

 

보통 Open redirect의 취약점을 찾을 때는 url=, redirect=, next=와 같은 URL 파라미터를 주의 깊게 살펴봐야함

 

2. html <meta>태그 또는 자바스크립트 사용

<meta>태그: 해당 문서에 대한 정보인 메타데이터를 정의할 때 사용

<meta http-equiv="refresh" content="0; url=https://www.google.com/">

Html <meta> 태그의 content 속성에 정의된 url에 get요청을 보내도록 지시할 수 있음

 

자바스크립트를 사용해 DOM으로 window의 location 속성 사용하기

window.location = https://www.google.com/
window.location.href = https://www.google.com
window.location.replace(https://www.google.com)

*window.location 값을 설정할 수 있는 기회는 오로지 공격자가 크로스사이트 스크립팅 취약점을 통해 자바스크립트를 실행할 수 있거나 웹 사이트에서 리디렉션하려는 URL을 정의하도록 허용한 경우에만 발생함

'Hacking & Security > Hacking' 카테고리의 다른 글

정보 수집  (0) 2022.10.17
HTTP 파라미터 오염(HPP)  (0) 2022.05.17
웹 사이트 방문  (0) 2022.05.17
Web Application Security(6) - state  (0) 2022.04.24
Web Application Security(5) - 경로 탐색 공격  (0) 2022.04.24
Comments