Skip to content

avin/jsSniffer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 

Repository files navigation

jsSniffer

Демо реализация js сниффера который может быть внедрен на страницу для отлова введенной пользователем информации на странице. Внедрение может проходить либо инъекцией в пакет (к примеру на роутере или прокси сервере) или непосредственно добавление сслыки js скрипта в саму страницу. В скрипт также добавлено шифрование для передачи данных в скрытом виде. Данный скрипт был создан лишь в целях демонстрации данного вектора атаки. Код является сильно избыточным и является прототипным.

Сборка и установка

JS-клиент

При сборке следует обратить внимание на конфигурационный файл который содержит ссылку на сервер приёмник и публичный ключ с помощью которого происходит шифрование исходящей информации. Для сборки нам потребуется webpack.

$ npm install -g webpack

Переходим в директорию ./client и подгружаем необходимые для сборки компоненты

$ cd ./client
$ npm install

Перед процессом сборки js-скрипта укажите необходимые настройки (публичный ключ шифрования и ссылку на сервер-приемник) в файле ./client/js/options/options.es6 После этого запускаем непосредственно процесс сборки

$ NODE_ENV=production webpack 

Полученный файл лежит в директории ./public/assets/js/app.js Его в последующем используем при инъекции в html код страниц.

Серверная часть

Серверная часть представленна в виде приложения php построенного на базе фреймворка Laravel. Для работы серверного приложения неоходимо предварительно установить php версии >=5.6. Для хранения данных используется БД Mongo. После установки серверного приложения, необходимо в файле ./server/config/keys.php выставить приватный ключдля дешифровки входящих данных. Для работы приложения необхомо подгрузить нужные для работы библиотеки с помощью composer.

$ composer install 

Внедрение JS кода

Возможные пути внедрения JS кода:

  • Подгрузка через JS-расширение браузера или userscript.
  • Внедрение ссылки на js файл в http пакет на маршрутизаторах и прокси серверах (затруднительно в случае https). Также возможна эксплуатация данного вектора атаки организацией роутинга посредствоим mitm-атаки.
  • Непосредственно внедрение в html страницу со стороны сервера (возможно может быть полезна администраторам ресурса)

Лицензия

MIT

Releases

No releases published

Packages

No packages published

Languages