Command Injection: Обход Blacklist-фильтра в Node.js
Функция ping в админ-панели защищена blacklist-фильтром, блокирующим пробелы и ключевые слова cat/flag/tail/less/more. Фильтр обходится через ;id, ;env и другие конструкции без пробелов.
hardnodejsPro
Задача
# Command Injection: Обход WAF через Blacklist Bypass
## Сценарий
Ты — пентестер, проводящий аудит интернет-магазина хакерского снаряжения. Разработчики установили в панели администратора функцию диагностики сети (ping). Понимая опасность инъекции команд, они добавили WAF-фильтр на основе чёрного списка: пробелы и «опасные» команды блокируются. Задача — выяснить, насколько надёжна эта защита.
## Цели
1. Войди в панель администратора.
2. Найди функцию диагностики сети и изучи логику WAF-фильтра.
3. Обойди blacklist-защиту и выполни произвольную команду на сервере.
4. Извлеки CTF-флаг через выполненную команду.
## Данные для входа
| Роль | Логин | Пароль |
|------|-------|--------|
| Администратор | `admin` | `SuperSecret` |
| Пользователь | `demo` | `demo` |
## Точка входа
Форма диагностики: `/admin/ping` (доступна только после входа как `admin`).
> Совет: начни со стандартных техник инъекции команд — что происходит? Затем разберись, какие именно символы и слова блокирует фильтр, и придумай способ их обойти.