В данной работе были рассмотрены уязвимости библиотеки React (XSS через dangerousInnerHtmk) и уязвимость серверной части приложения на Node.js Prototype Pollution
Все зависимости проекта указаны в package.json файлах
Prototype Pollution использовался из за библиотеки lodash, в которой раньше было много подобных уязвимостей, возможно и сейчас есть, но этого мы сейчас не узнаем.
Приложение можно разработать ещё лучше, сделав авторизацию по JWT (с использованием Redux Thunk или Saga), и добавив задание на JWT, а также подключив хорошую графическую библиотеку (к примеру React Bootstrap или Material UI)
Для запуска необходима Node.js v16.13.2+ и PostgreSQL
В репозитории 4 папки
- build
- deploy
- poc
- src
Для разработки служит папка src в которой лежат:
- client
- server
Чтобы запустить dev версию нужно установить зависимости из каждой папки (необходимые пакеты)
cd client
npm install
и
cd server
npm install
Для запуска dev версии надо
- Зайти в папку client и запустить клиент
cd client
npm start
- Зайти в папку server и запустить сервер
cd server
npm run start
- зайдите в браузер и перейдите по ссылке http://localhost:3000
В папке poc лежит один файл poc.md, служащий путиводителем для лабораторной работы