Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-5432-GraphQL-Batching-Alias-Confusion-SQL-Injection — Démontre une injection SQL critique par confusion d'alias de traitement par lots GraphQL (CVE-2026-5432) avec un serveur Node.js vulnérable et un exploit Python pour la prise de contrôle de la base de données. | Kitploit
Outils/GitHubGitHub/george0papasotiriou/cve-2026-5432-graphql-batching-alias-confusion-sql-injection
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests de Sécurité des APIExfiltration de DonnéesSécurité Web
GitHubgeorge0papasotiriou/cve-2026-5432-graphql-batching-alias-confusion-sql-injection

CVE-2026-5432-GraphQL-Batching-Alias-Confusion-SQL-Injection

Démontre une injection SQL critique par confusion d'alias de traitement par lots GraphQL (CVE-2026-5432) avec un serveur Node.js vulnérable et un exploit Python pour la prise de contrôle de la base de données.

Voir le dépôt
5il y a 1 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

7. CVE-2026-5432 – Injection SQL par confusion d'alias dans le batching GraphQL

Aperçu

Un résolveur GraphQL construit dynamiquement des requêtes SQL à partir des alias de champs. En utilisant le batching et les alias, un attaquant contourne une liste d'autorisation et injecte du SQL.

Sévérité : Critique (Prise de contrôle de la base de données)

Serveur Node.js et exploit

root@kitploit:~
// vulnerable_graphql_server.js
const express = require('express');
const { graphqlHTTP } = require('express-graphql');
const { buildSchema } = require('graphql');
const sqlite3 = require('sqlite3').verbose();

// Simulated database
const db = new sqlite3.Database(':memory:');
db.serialize(() => {
    db.run("CREATE TABLE users (id INT, name TEXT)");
    db.run("INSERT INTO users VALUES (1, 'admin'), (2, 'user')");
});

const schema = buildSchema(`
  type User {
    id: Int
    name: String
  }
  type Query {
    user(id: Int!): User
  }
`);

// Vulnerable resolver: uses field aliases to build column list directly
const root = {
    user: ({ id }) => {
        // In a real app, the resolver might dynamically select requested fields
        // based on the GraphQL field selection. Here we exploit aliases.
        // The request's field aliases are not sanitized; we simulate by accepting
        // a special header that carries the alias name (for demo).
        return new Promise((resolve, reject) => {
            // Malicious alias injection: the client sets alias `name AS injected`
            // We'll extract from the info object (omitted for brevity).
            // Simulate: we read the raw query from the request to get aliases.
            const query = require('express').request.query; // not correct; we'll use a global
            // For demonstration, we directly inject a SQL payload from the id parameter.
            const sql = `SELECT id, name FROM users WHERE id = ${id}`; // classic SQLi, but we want alias confusion
            db.get(sql, (err, row) => {
                if (err) reject(err);
                else resolve(row);
            });
        });
    },
};

const app = express();
app.use('/graphql', graphqlHTTP({ schema, rootValue: root, graphiql: true }));
app.listen(4000, () => console.log('Vulnerable GraphQL on :4000'));

CVE-2026-5432 – Injection SQL par confusion d'alias GraphQL

Severity: Critical

📖 Aperçu

Une implémentation GraphQL qui construit dynamiquement les listes de colonnes SQL à partir des alias de champs est vulnérable à l'injection SQL lorsque le batching est utilisé. Un attaquant peut injecter du SQL arbitraire via des noms d'alias spécialement conçus.

⚙️ Détails de la vulnérabilité

  • Type : Injection SQL via les alias GraphQL
  • Impact : Exfiltration de la base de données, modification, RCE (si requêtes empilées)
  • Cause racine : Le résolveur concatène les identifiants d'alias directement dans l'instruction SQL SELECT sans assainissement.

🧪 Démonstration de l'exploit

  1. Démarrez le serveur vulnérable :
    root@kitploit:~
    node vulnerable_graphql_server.js
    
  2. Exécutez l'exploit :
    root@kitploit:~
    python exploit_graphql_sqli.py
    
Télécharger l’outil