의미없는 블로그
[Appscan] Unsafe third-party link / Tabnabbing 공격 본문
A 서비스에 <a href> 있으면 클릭하면 새 창(B) 열리잖아
이 때, target="_blank" 로 설정되어 있으면 B에서 window.opener 속성을 사용해서 A를 조작할 수가 있대
이걸 Tabnabbing 공격이라고 한다
이게 부모 서비스 (A)
<a href="https://child.com" target="_blank">Open Child Window</a> |
이게 자식 서비스 (B)
<script> // 부모 창에 접근 var parentWindow = window.opener; // 부모 창의 제목을 변경 parentWindow.document.title = "This is modified by child!"; </script> |
이것도 자식 서비스(B)
setTimeout(() => { if (window.opener) { window.opener.location.href = "http://phishing-site.com"; } else { console.log("부모 창이 없습니다."); } }, 3000); // 3초 후 부모 창 URL 변경 |
무튼 이런식으로 부모 서비스를 조작해서
피싱 사이트로 유도 시켜서 개인정보를 탈취하거나 뭐 그런거래
근데 전제조건이
부모 서비스의 target="_blank" 를 쓰는 링크를 공격자가 만든 자식 서비스(악성)로 조작이 가능해야..
그래서 저렇게 하드코딩 되어있는 경우에는 실현 불가하다
대응방안은 외부 링크 쓸 때 rel="noopener noreferrer" 설정하면 된다
<a href="http://example.com" target="_blank" rel="noopener noreferrer">Secure Link</a> |
Tabnabbing 공격의 조건
- 악성 링크가 삽입되어야 함: 피해자가 사용하는 웹사이트에서 a href 태그를 통해 악성 사이트로 연결되는 링크가 제공되어야 합니다.
- target="_blank" 사용: 새로운 탭에서 링크를 열도록 설정되어야 합니다. 이 설정이 없으면 원래 탭에서 열리기 때문에 Tabnabbing 공격이 작동하지 않습니다.
- 탭 전환: 피해자가 다른 탭으로 이동한 후 다시 악성 탭으로 돌아와야 합니다.
'# 나 > pentest (WEB)' 카테고리의 다른 글
Proxy SwitchyOmega 플러그인 / SSL 인증서 관련 (0) | 2024.12.11 |
---|---|
Order By 절에서 SQL Injection (0) | 2024.05.29 |
보고서 작성용 (0) | 2024.05.08 |
fscan.exe (0) | 2023.07.03 |
쇼단 (0) | 2023.05.10 |
Comments