Aller au contenu

LDAP Injection (ARCH7107)

Ce contenu n’est pas encore disponible dans votre langue.

Key php.security.ldap-injection · Severity error · Category security · CWE CWE-90

Concatenating LDAP search filters with unescaped user input lets an attacker alter the filter and, for example, inject * to bypass authentication.

<?php
$user = $_POST['user'];
$filter = "(uid=$user)"; // (uid=*) bypasses the filter
$result = ldap_search($conn, $baseDn, $filter);
<?php
$user = ldap_escape($_POST['user'], '', LDAP_ESCAPE_FILTER);
$filter = "(uid=$user)";
$result = ldap_search($conn, $baseDn, $filter);

Escape all input that enters a filter with ldap_escape($value, '', LDAP_ESCAPE_FILTER).