선릉역 1번 출구
Open redirect 본문
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 |