LDAP-инъекция

Внедрение спецсимволов в LDAP-фильтры для обхода аутентификации или чтения каталога.

СигнатураLDAP Injection

LDAP-инъекция происходит при построении фильтров поиска в каталоге (например Active Directory) из непроверенного ввода. Спецсимволы *, (, ), &, | позволяют изменить логику фильтра и, например, обойти проверку пароля.

Как защититься: экранируйте спецсимволы LDAP по RFC 4515, используйте библиотеки с безопасным построением фильтров, применяйте белые списки символов.

# Опасно: ввод напрямую в фильтр
user = request.get("user")
filt = "(uid=" + user + ")"  # ввод *)(uid=* раскрывает каталог

# Безопасно: экранирование спецсимволов
from ldap3.utils.conv import escape_filter_chars
user = escape_filter_chars(request.get("user"))
filt = "(uid=" + user + ")"
← Все записи: Веб-уязвимости и защита
Поддержать проект