HTML 새 탭에서 열기 방법과 탭내빙 공격

2022. 4. 9. 18:45·HTML | CSS

HTML 링크를 클릭하면 대부분 새 탭에서 링크가 열립니다. 이를 통해 사용자는 기존의 페이지를 유지하며, 새로운 탭에서 브라우징을 계속할 수 있는 장점이 있습니다.

 

이번 포스팅에서는 HTML 요소에 링크를 지정하는 방법, 새 탭에서 여는 방법, 이와 관련된 탭내빙 공격에 대해 알아보도록 하겠습니다.

요소에 링크 적용하기

텍스트 또는 이미지 요소에 웹페이지 링크를 적용하기 위해서는 <a> 앵커 요소와 href 속성을 사용합니다.

<p>Please check <a href="https://walkingplow.tistory.com">my website<a>.</p>

링크를 클릭하면 브라우저는 현재 탭에서 해당 URL로 이동하게 됩니다.

링크를 새 탭에서 열기

위의 코드에 target="_blank" 속성을 추가하면 링크를 새 탭에서 열도록 할 수 있습니다.

<p>Please check <a href="https://walkingplow.tistory.com" target="_blank">my website<a>.</p>

링크를 클릭하면 브라우저는 새 탭에서 해당 URL을 새롭게 열게 됩니다.

target=”_blank”와 관련된 보안 위험

링크를 새 탭으로 여는 target="_blank"는 유용한 방법이지만, 탭내빙(Tabnabbing)이라는 보안 위험이 존재합니다. 탭내빙이란 HTML 문서 내의 링크를 클릭할 때, 기존 문서의 위치를 피싱 사이트로 변경하는 것입니다.

 

이를 방지하기 위해서는 다음과 같이 추가적인 속성 rel="noreferrer noopener"을 지정해주어야 합니다.

<p>Please check <a href="https://walkingplow.tistory.com" target="_blank" rel="noreferrer noopener">my website<a>.</p>

탭내빙이란?

탭내빙은 tagert="_blank" 속성을 통해 브라우저 이벤트가 발생할 때, window.object API를 통해 페이지 일부 권한을 획득하는 공격 방식입니다.

 

공격자는 탭내빙을 통해 새 탭으로 이동하게 한 기존 웹페이지를 다른 페이지로 리다이렉션 시킬 수 있습니다. 대부분의 사용자는 새롭게 열린 탭에 관심을 갖고 있기 때문에, 기존의 웹페이지가 변경된 것을 눈치채지 못할 수도 있습니다.

 

가짜 웹사이트로 사용자가 다시 돌아와 로그인을 하거나 민감한 정보를 입력하게 될 경우, 공격자는 해당 정보를 가로챌 수도 있습니다.

마치며

HTML 페이지에서 링크를 새 탭에서 열려면 traget="_blank" 속성을 사용할 수 있습니다. 그러나 이를 단독으로 사용하면 탭내빙 공격에 노출될 수 있으며, 따라서 rel="noreferrer noopener" 속성을 추가로 지정해주는 것이 좋습니다.

반응형

'HTML | CSS' 카테고리의 다른 글

CSS 요소 크기 설정: 절대적, 상대적 지정 방법  (0) 2022.04.09
CSS 포지션 속성 정리  (0) 2021.12.29
CSS 디스플레이 속성 정리  (0) 2021.12.29
'HTML | CSS' 카테고리의 다른 글
  • CSS 요소 크기 설정: 절대적, 상대적 지정 방법
  • CSS 포지션 속성 정리
  • CSS 디스플레이 속성 정리
휘 Hwi
휘 Hwi
개발자 성장 로그
  • 휘 Hwi
    개발자 로그: 변화를 위한 공간
    휘 Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • 101 (1)
      • Web | Internet (4)
      • HTML | CSS (4)
      • Python (9)
      • Django (20)
      • Javascript (0)
      • Node.js (0)
      • React (0)
      • React Native (0)
      • Database (1)
      • Git (1)
      • Terminal | Vim (1)
      • Auth | Security (4)
      • AWS (0)
      • Docker (0)
      • Kubernetest (1)
      • Deployment (1)
      • Project (2)
      • TIL (12)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정규 표현식
    JWT 디코딩
    함수
    HTTP POST 요청
    장고 Views
    파이썬
    target="_blank"
    요소 절대 크기
    HTTP GET 요청
    깃 퍼블릭 키 등록
    배포
    요소 크기 설정
    파라미터
    JWT 인코딩
    css
    HTTP
    장고 URL
    프로젝트 회고
    장고
    깃 오류
    깃
    장고 프로젝트
    깃 ssh
    요소 상대 크기
    새 탭에서 열기
    TIL
    깃 에러 해결
    탭내빙
    JWT
    html
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
휘 Hwi
HTML 새 탭에서 열기 방법과 탭내빙 공격
상단으로

티스토리툴바