LDAP Injection

Sintaxe de Consultas LDAP

SINTAXE

DESCRIÇÃO

(&(cn=<input1>)(cn=<input2>))

Condição de and

(|(cn=<input1>)(cn=<input2))

Condiçao de or

Filter Injection

Esse tipo de injection consiste em fazer filtros para buscarmos informações ou até mesmo realizarmos autenticações em sistemas. Se prestarmos atenção na sintaxe mostrada acima, vamos ver que o operador de condição (| ou &) , fica no início do filtro, então essa parte não podemos modificar, ao não ser é claro que seja uma condição simples como: (cn=<input>) .

LDAP trabalha com coringas, como o * e é a partir dele que podemos fazer um bypass em pesquisas e autenticações. Podemos por exemplo inserir o usuário adm* e assim pegar todos os usuários que começam com adm.

DICA: Evite usar * para fazer bypass em senha (por exemplo, 1234*), pois geralmente isso vai estar criptografado, o que fará seu coringa virar um hash. Segue os tipos de criptografia suportados pelo LDAP: CLEARTEXT, MD5, SMD5 (Salted MD5), SHA, SSHA (Salted SHA1) e CRYPT

Sites

https://www.blackhat.com/presentations/bh-europe-08/Alonso-Parada/Whitepaper/bh-eu-08-alonso-parada-WP.pdf

Last updated