¿Algún servidor SQL / noSQL acepta * (asterisco) como carácter comodín?

0

Estoy probando un sitio web y encontré un punto final que acepta una dirección de correo electrónico y devuelve una respuesta HTTP 200 si ese correo electrónico está registrado, o 401 si ese correo electrónico no está registrado. Pero también noté que es posible usar comodines como * o? en el parámetro de correo electrónico. Por ejemplo, si escribo myregisteredemail@*.com, obtendré una respuesta HTTP 200, pero si escribo nonexistingemail@*.com, obtendré una respuesta 401. Los comodines se pueden utilizar en cualquier parte del correo electrónico.

Sé que este comportamiento podría usarse fácilmente para la enumeración de correo electrónico, pero estoy tratando de averiguar si hay alguna otra inyección que sea más crítica.

He probado muchas cargas útiles SQLi, pero sin éxito, y hasta donde sé, todos los productos SQL utilizan% como carácter comodín y no * (% no funciona en este ejemplo como comodín). ¿Alguien sabe de un producto SQL o noSQL que usa * como carácter comodín?

    
pregunta pineappleman 04.11.2016 - 18:31
fuente

2 respuestas

4

Si * parece ser un comodín, podría ser LDAP, probablemente una consulta a Windows ActiveDirectory.

Lo bueno de AD es que la estructura LDAP es conocida, por lo que puede tener una idea de cómo omitir la autenticación. Esta , por ejemplo, es una referencia de los atributos de un usuario en AD. Por supuesto, también podría ser una estructura LDAP personalizada.

OWASP tiene algunas ideas para inyección LDAP .

    
respondido por el Gabor Lengyel 04.11.2016 - 18:55
fuente
1

No, ambas bases de datos SQL no.

El asterisco se usa en las declaraciones para seleccionar todas las columnas a diferencia de especificar columnas particulares.

Su uso es: SELECT * FROM Accounts WHERE Email = '[email protected]'

Esto devolvería la (s) fila (s) de la tabla completa donde la columna Correo electrónico es igual a [email protected].

El más cercano a los comodines sería cuando use el operador LIKE . Pero los símbolos utilizados son el signo de porcentaje y el subrayado.

Su uso es: SELECT * FROM Accounts WHERE Email LIKE 'user@%.com'

Esto devolvería las filas de la tabla completa donde la columna Correo electrónico comienza con el usuario @ y termina con .com. Si utiliza el guión bajo, buscará solo un carácter comodín en lugar de todos los comodines posibles. Estos también pueden aceptar expresiones regulares para segmentar información específica de comodines.

Microsoft Access y Bash , entre otros, utiliza los comodines a los que te refieres.

    
respondido por el Bacon Brad 04.11.2016 - 19:48
fuente

Lea otras preguntas en las etiquetas