🔐 Что такое LDAP Injection?
Мы уже разобрали, что такое
LDAP и зачем он нужен в Active Directory.
Но что произойдёт, если приложение неправильно обрабатывает пользовательский ввод при обращении к LDAP?
В этом случае может возникнуть
LDAP Injection.
📌 LDAP Injection — это уязвимость, при которой злоумышленник изменяет LDAP-запрос, отправляемый приложением, чтобы получить несанкционированный доступ к данным или изменить логику поиска.
По своей идее она очень похожа на SQL Injection.
Только вместо SQL-запросов атакуется LDAP.
Представим, что приложение формирует запрос так:
(&(uid=user)(password=123456))
Если пользовательский ввод не фильтруется должным образом, злоумышленник может изменить структуру запроса и повлиять на результат поиска.
💀 Чем это опасно?
При успешной эксплуатации LDAP Injection можно:
— обойти аутентификацию;
— получить информацию о пользователях;
— перечислить группы и объекты Active Directory;
— извлечь внутренние данные каталога.
Всё зависит от того, какие права имеет учётная запись, от имени которой приложение обращается к LDAP.
🧠 Почему это встречается реже, чем SQL Injection?
Потому что далеко не каждое приложение работает напрямую с LDAP.
Но корпоративные порталы, системы авторизации, внутренние веб-приложения и некоторые VPN-шлюзы довольно часто используют LDAP для проверки пользователей.
И если разработчики не экранируют специальные символы, появляется риск LDAP Injection.
🛡 Как защититься?
Основные рекомендации:
— использовать параметризованные LDAP-запросы;
— экранировать специальные символы;
— не собирать запросы простой конкатенацией строк;
— выдавать приложению минимально необходимые права на чтение LDAP.
📌 LDAP Injection встречается значительно реже SQL Injection, но в корпоративной инфраструктуре последствия могут быть очень серьёзными, особенно если приложение имеет широкий доступ к Active Directory.
#infra #ad #ldap #ldapinjection #websecurity