BrowExt - ClickJacking
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
이 페이지는 브라우저 확장에서 ClickJacking 취약점을 악용할 것입니다. ClickJacking이 무엇인지 모른다면 다음을 확인하세요:
Clickjacking확장 프로그램은 manifest.json
파일을 포함하고 있으며, 이 JSON 파일에는 web_accessible_resources
필드가 있습니다. Chrome 문서에서는 다음과 같이 설명합니다:
이러한 리소스는
chrome-extension://[PACKAGE ID]/[PATH]
URL을 통해 웹페이지에서 사용할 수 있으며, 이는 **extension.getURL method
**로 생성할 수 있습니다. 허용된 리소스는 적절한 CORS 헤더와 함께 제공되므로 XHR과 같은 메커니즘을 통해 사용할 수 있습니다.1
브라우저 확장의 **web_accessible_resources
**는 단순히 웹을 통해 접근할 수 있는 것이 아니라, 확장의 고유한 권한으로 작동합니다. 이는 다음과 같은 기능을 가질 수 있음을 의미합니다:
확장의 상태 변경
추가 리소스 로드
브라우저와 어느 정도 상호작용
그러나 이 기능은 보안 위험을 초래합니다. web_accessible_resources
내의 리소스가 중요한 기능을 가지고 있다면, 공격자는 이 리소스를 외부 웹 페이지에 삽입할 수 있습니다. 이 페이지를 방문하는 무심한 사용자는 이 삽입된 리소스를 우연히 활성화할 수 있습니다. 이러한 활성화는 확장 리소스의 권한과 기능에 따라 의도치 않은 결과를 초래할 수 있습니다.
확장 프로그램 PrivacyBadger에서 skin/
디렉토리가 다음과 같이 web_accessible_resources
로 선언된 것과 관련된 취약점이 발견되었습니다 (원본 블로그 게시물 확인):
이 구성은 잠재적인 보안 문제를 초래했습니다. 구체적으로, 브라우저에서 PrivacyBadger 아이콘과 상호작용할 때 렌더링되는 skin/popup.html
파일은 iframe
내에 삽입될 수 있습니다. 이 삽입은 사용자가 "이 웹사이트에 대해 PrivacyBadger 비활성화"를 무심코 클릭하도록 속이는 데 악용될 수 있습니다. 이러한 행동은 PrivacyBadger 보호를 비활성화하여 사용자의 개인 정보를 위협하고, 사용자가 더 많은 추적을 받을 수 있는 상황에 처하게 할 수 있습니다. 이 취약점의 시각적 시연은 https://blog.lizzie.io/clickjacking-privacy-badger/badger-fade.webm에서 제공된 ClickJacking 비디오 예제를 통해 확인할 수 있습니다.
이 취약점을 해결하기 위해 간단한 해결책이 구현되었습니다: /skin/*
을 web_accessible_resources
목록에서 제거하는 것입니다. 이 변경은 skin/
디렉토리의 콘텐츠가 웹 접근 가능한 리소스를 통해 접근하거나 조작될 수 없도록 보장함으로써 위험을 효과적으로 완화했습니다.
수정은 간단했습니다: web_accessible_resources
에서 /skin/*
을 제거하십시오.
A blog post about a ClickJacking in metamask can be found here. 이 경우, Metamask는 접근하는 데 사용된 프로토콜이 https:
또는 **http:
**인지 확인하여 취약점을 수정했습니다 (예: chrome:
아님):
Metamask 확장 프로그램에서 수정된 또 다른 ClickJacking은 사용자가 “web_accessible_resources”: [“inpage.js”, “phishing.html”]
때문에 페이지가 피싱으로 의심될 때 Click to whitelist할 수 있었다는 것입니다. 해당 페이지는 Clickjacking에 취약했기 때문에, 공격자는 피해자가 이를 인지하지 못한 채로 화이트리스트에 추가하도록 클릭하게 만들기 위해 정상적인 것을 보여줄 수 있었고, 그 후 화이트리스트에 추가된 피싱 페이지로 돌아갈 수 있었습니다.
Check the following page to check how a XSS in a browser extension was chained with a ClickJacking vulnerability:
BrowExt - XSS ExampleLearn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)