A lightweight extension to automatically detect and provide verbose warnings for embedded iframe elements in order to protect against Browser-In-The-Browser (BITB) attacks.

Overview

Enhanced iFrame Security Logo

Enhanced iFrame Protection - Browser Extension

Enhanced iFrame Protection (EIP) is a lightweight extension to automatically detect and provide verbose warnings for embedded iframe elements in order to protect against Browser-In-The-Browser (BITB) attacks.

Screenshots

Enhanced iFrame Security Screenshot

In the above screenshot, a phishing website has embedded an iframe element within a div that has been styled to look like an actual browser window (with a fake URL bar claiming to be from accounts.google.com).

This extension has detected the iframe and presented a security warning, highlighting the actual phishing domain as (bigphish.ca).

Installation

Contributing

Pull requests are welcome if you see a way to make this extension more efficient and lightweight. For major changes or feature additions, please open an issue first to discuss what you would like to change.

License

MIT

You might also like...

Sort tailwind classes for each elements className list by a given order-config

eslint-plugin-tailwind-classname-order This eslint plugin automatically orders the tailwind classes included in the className tags from each element b

Nov 25, 2022

iframe and html5 file uploader

Upload iframe and html5 uploader. ⇪ 演示 查看演示,你需要 clone 一份代码: $ git clone git://github.com/aralejs/upload $ cd upload $ npm install $ spm install $ node

Apr 7, 2022

A postMessage bridge to connect to dapps loaded into an iframe.

cardano-dapp-connector-bridge A postMessage bridge to connect to dApps loaded into an iframe. Motivation In April 2022, browser extensions are the onl

Oct 11, 2022

A simple javascript utility library to include partial html (iframe alternate) without a framework or jQuery.

alt-iframe A simple javascript utility library to include partial html (iframe alternate) without a framework or jQuery. !doctype html html lang="e

Dec 30, 2022

A MagicMirror² module which embeds multiple other websites with iframe or webview

A MagicMirror² module which embeds multiple other websites with iframe or webview

MMM-EmbedURL This is a MagicMirror² module which embeds other websites either by "iframe" (default), "webview" or a custom HTML-element to your mirror

Dec 18, 2022

UAParser.js - Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. Supports browser & node.js environment.

UAParser.js - Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. Supports browser & node.js environment.

UAParser.js JavaScript library to detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data with relatively small footprint (~17KB m

Jan 4, 2023

Detect browser, and render view according to the detected browser type.

react-browser-detector Detect browser, and render view according to the detected browser type. Installation To install, you can use npm or yarn: npm i

Jul 13, 2022

🛡 Protect yourself from crypto scams online

Revoke.cash Browser Extension In many cases, phishing websites try to make you sign a token allowance while they pretend to be an NFT mint or other le

Dec 5, 2022

🔐 Protect your Smart Contract Proxy from storage collisions upon upgrading, by running this action in a CI on each of your Pull Requests!

🔥 🛠️ Foundry Storage Upgrade Seatbelt Protect your Smart Contract Proxy from storage collisions upon upgrading, by running this action in a CI on ea

Dec 24, 2022
Comments
  • False positive when using vim vixen

    False positive when using vim vixen

    vim vixen creates an invisible iframe on every page to work. So suddenly every page as a potentially malicious iframe. 😞

    Warning: Potential Security Risk Ahead An iframe element is displaying content from the following URL: moz-extension://fb590c18-134c-4552-a50e-d08c07ef29... Please ensure you trust this URL before entering any sensitive information such as passwords, emails, or credit card details.

    opened by fedemp 3
  • Why would a BITB attack need an iframe?

    Why would a BITB attack need an iframe?

    The example used is "a phishing website has embedded an iframe element". If the parent is attacker controlled then it would be possible to remove the warning or just not use an iframe such as by using an embed tag.

    The detection code should also support dynamically created embeds

    f = document.createElement('iframe');
    f.src = 'https://example.org';
    document.body.appendChild(f);
    

    Seems that adding childList: true fixes this.

    document.URL is attacker controlled using a html base tag.

    Even if the parent is trusted the victim origin would need to not have any open redirects.

    This extension could work for clickjacking protection but currently could not be trusted without using the webNavigation API and the Intersection Observer v2 API. To detect frames and allow the security UI to not be spoofed by attackers.

    opened by NDevTK 2
  • Brilliant extension - made a feature request to Mozilla

    Brilliant extension - made a feature request to Mozilla

    Hi @odacavo Brilliant extension. I think this should be implemented in the Mozilla browser, so I made a feature request to Mozilla. One can look at it on this link.

    Best regards

    Edit: Fixed the link so its correct :)

    opened by Am0rphous 2
  • Technical question about JS

    Technical question about JS

    https://github.com/odacavo/enhanced-iframe-protection/blob/5d03784777f2bce61d208be643e4d10bce338430/chrome-api/src/content.js#L222-L224

    Out of curiosity, what's the line 222 for? In JS this would copy reference, not do a shallow copy of an array, so pushing value to ddcopy on line 223 will mutate the srcAllowResultP array as well...

    question 
    opened by burtek 1
Owner
odacavo
security analyst | researcher | open-source software developer
odacavo
Detect F12 open console, protect web static resources, support redirect, rewrite, callback strategies.

console-ban Detect F12 open browser console. protect web site static resources, support redirect, rewrite, custom callback strategies. Language: Engli

Yingci 623 Dec 26, 2022
Group and sort Eleventy’s verbose output by directory (and show file size with benchmarks)

eleventy-plugin-directory-output Group and sort Eleventy’s verbose output by directory (and show file size with benchmarks). Sample output from eleven

Eleventy 16 Oct 27, 2022
This project will be using various AI and Rule Engine algorithm to detect various attack against a company!

?? Introduction This project will be using various AI and Rule Engine algorithm to detect various attack against a website! ?? Mission After starting

Harish S.G 4 Apr 29, 2022
This is a tic-tac-toe game but differs from most others as it carries the option of playing against an AI (COM) or against a friend.

TIC-TAC-TOE This is a simple tic-tac-toe game with the exception of playing against an algorithm or against a friend. At the very start, you have to s

Paul Ibeabuchi C. 4 Jul 2, 2022
Create a deep copy of a set of matched elements with the dynamic state of all form elements copied to the cloned elements.

jq-deepest-copy FUNCTION: Create a deep copy of a set of matched elements while preserving the dynamic state of any matched form elements. Example Use

Michael Coughlin 5 Oct 28, 2022
GitHub Action that checks code and docs for offensive / exclusive terms and provides warnings.

Inclusiveness Analyzer Make your code inclusive! The Inclusiveness Analyzer is a GitHub action that checks your repository for offensive / exclusive t

Microsoft 21 Dec 1, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Scans your computer for node modules that are potentially vulnerable to supply chain attacks

Scans your computer for node modules that are potentially vulnerable to supply chain attacks. You still need to review the code of modules that are not vulnerable, but this helps.

Brandon Nozaki Miller 4 Apr 11, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023