Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/avin/jssniffer
jsSniffer
https://github.com/avin/jssniffer
Last synced: 1 day ago
JSON representation
jsSniffer
- Host: GitHub
- URL: https://github.com/avin/jssniffer
- Owner: avin
- Created: 2015-09-27T16:09:44.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2015-09-27T16:17:59.000Z (about 9 years ago)
- Last Synced: 2023-02-26T16:32:02.691Z (over 1 year ago)
- Language: PHP
- Size: 141 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# jsSniffer
Демо реализация js сниффера который может быть внедрен на страницу для отлова введенной пользователем информации на странице.
Внедрение может проходить либо инъекцией в пакет (к примеру на роутере или прокси сервере) или непосредственно добавление сслыки
js скрипта в саму страницу. В скрипт также добавлено шифрование для передачи данных в скрытом виде. Данный скрипт был создан лишь в
целях демонстрации данного вектора атаки. Код является сильно избыточным и является прототипным.## Сборка и установка
### JS-клиент
При сборке следует обратить внимание на конфигурационный файл который содержит ссылку на сервер приёмник и публичный ключ с
помощью которого происходит шифрование исходящей информации.
Для сборки нам потребуется webpack.
```sh
$ npm install -g webpack
```Переходим в директорию ./client и подгружаем необходимые для сборки компоненты
```sh
$ cd ./client
$ npm install
```Перед процессом сборки js-скрипта укажите необходимые настройки (публичный ключ шифрования и ссылку на сервер-приемник) в
файле ./client/js/options/options.es6
После этого запускаем непосредственно процесс сборки
```sh
$ NODE_ENV=production webpack
```
Полученный файл лежит в директории ./public/assets/js/app.js
Его в последующем используем при инъекции в html код страниц.### Серверная часть
Серверная часть представленна в виде приложения php построенного на базе фреймворка Laravel.
Для работы серверного приложения неоходимо предварительно установить php версии >=5.6. Для хранения данных используется БД Mongo.
После установки серверного приложения, необходимо в файле ./server/config/keys.php выставить приватный ключдля дешифровки входящих данных.
Для работы приложения необхомо подгрузить нужные для работы библиотеки с помощью composer.
```sh
$ composer install
```### Внедрение JS кода
Возможные пути внедрения JS кода:
* Подгрузка через JS-расширение браузера или userscript.
* Внедрение ссылки на js файл в http пакет на маршрутизаторах и прокси серверах (затруднительно в случае https). Также возможна
эксплуатация данного вектора атаки организацией роутинга посредствоим mitm-атаки.
* Непосредственно внедрение в html страницу со стороны сервера (возможно может быть полезна администраторам ресурса)## Лицензия
MIT