databaseNeo4jection



El atacante abusa de la función CALL db.labels() para listar las etiquetas del grafo (similares a tablas en SQL) y las exfiltra hacia un servidor remoto usando LOAD CSV.

Este tipo de payload se usa en ataques Cypher Injection contra Neo4j cuando el input no está debidamente saneado.

Ejemplo de salida:


Exfiltración de datos de nodos en Neo4j

Tras identificar las etiquetas con db.labels(), se puede extraer contenido real de los nodos usando keys(n), toString(n[key]) y LOAD CSV. Esto permite enviar cada propiedad al servidor del atacante mediante HTTP. Si APOC está habilitado, es posible serializar nodos completos en JSON con apoc.convert.toJson(n) para una exfiltración más completa y limpia.

  • Cambiar por el label correspondiente y las variables que le hacen referencia.


Last updated