LDAP Enjeksiyonu (ARCH7107)
Anahtar php.security.ldap-injection · Önem error · Kategori security · CWE CWE-90
LDAP arama filtrelerini kaçışsız kullanıcı girdisiyle birleştirmek, saldırganın filtreyi değiştirmesine ve örneğin * enjekte ederek kimlik doğrulamayı atlamasına olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”<?php$user = $_POST['user'];$filter = "(uid=$user)"; // (uid=*) ile filtre atlanır$result = ldap_search($conn, $baseDn, $filter);<?php$user = ldap_escape($_POST['user'], '', LDAP_ESCAPE_FILTER);$filter = "(uid=$user)";$result = ldap_search($conn, $baseDn, $filter);Düzeltme
Bölüm başlığı “Düzeltme”Filtreye giren tüm girdileri ldap_escape($value, '', LDAP_ESCAPE_FILTER) ile kaçırın.