← retour aux outils back to tools

# jSQL Injection

Outil graphique en Java pour la détection et l'exploitation automatique d'injections SQL sur plusieurs moteurs de bases de données. Java-based GUI tool for automatic SQL injection detection and exploitation across multiple database engines.

↗ https://github.com/ron190/jsql-injection

## Overview

jSQL Injection is a Java GUI tool for finding and exploiting SQL injection vulnerabilities. It supports MySQL, PostgreSQL, Oracle, MSSQL, SQLite, and more, and offers point-and-click workflows for database enumeration, data extraction, file read/write via injection, and even admin-page finding and brute-forcing — an alternative to sqlmap’s CLI-driven approach for testers who prefer a GUI.

## Common Usage

Launch the GUI

    java -jar jsql-injection-vX.Y.jar

Headless/CLI mode against a target URL

    java -jar jsql-injection-vX.Y.jar --url "http://target.com/page.php?id=1"

## Typical Workflow (GUI)

1. Paste the target URL (with an injectable parameter) into the address bar
2. Click Enter — jSQL fingerprints the DB engine and injection point automatically
3. Database tab — browse discovered databases/tables/columns, extract data
4. Admin tab — search for admin login pages on the host
5. File tab — read server files (`LOAD_FILE`) or write a webshell if `FILE` privilege and writable path exist
6. Brute Force tab — dictionary-attack extracted password hashes

## Notes

- Auto-detects injection technique (error-based, blind boolean, time-based) similarly to sqlmap, but exploitation/browsing is driven through the GUI rather than flags.
- The file-write feature (dropping a webshell via `INTO OUTFILE`) requires `FILE` privilege and a known writable web-root path — same constraints as manual MySQL file-write injection.
- Useful as a second opinion / cross-check against sqlmap results on the same injection point.

Help / Man page

    java -jar jsql-injection.jar [options]

      --url URL             Target URL with injectable parameter
      --data DATA            POST data for the request
      --cookie COOKIE          Cookie header to send
      --header "Name: Val"       Additional HTTP header
      --proxy HOST:PORT            Route requests through a proxy
      --user-agent UA                Custom User-Agent

    Note: jSQL is primarily GUI-driven; most workflows
    (database browsing, admin panel search, file read/write,
    brute force) are performed through the tabbed interface
    after the initial connection is established.

## Vue d’ensemble

jSQL Injection est un outil graphique Java pour trouver et exploiter des vulnérabilités d’injection SQL. Il supporte MySQL, PostgreSQL, Oracle, MSSQL, SQLite et bien d’autres, et propose des workflows point-and-click pour l’énumération de bases de données, l’extraction de données, la lecture/écriture de fichiers via injection, et même la recherche et le bruteforce de pages d’administration : une alternative à l’approche pilotée par CLI de sqlmap pour les testeurs qui préfèrent un GUI.

## Utilisation courante

    # Lancer le GUI
    java -jar jsql-injection-vX.Y.jar

    # Mode headless/CLI contre une URL cible
    java -jar jsql-injection-vX.Y.jar --url "http://target.com/page.php?id=1"

## Workflow typique (GUI)

1. Coller l’URL cible (avec un paramètre injectable) dans la barre d’adresse
2. Cliquer sur Enter : jSQL détecte automatiquement le moteur de base de données et le point d’injection
3. Onglet Database : parcourir les bases/tables/colonnes découvertes, extraire les données
4. Onglet Admin : rechercher les pages de connexion admin sur l’hôte
5. Onglet File : lire les fichiers serveur (`LOAD_FILE`) ou écrire un webshell si le privilège `FILE` et un chemin accessible en écriture existent
6. Onglet Brute Force : attaque par dictionnaire sur les hashes de mots de passe extraits

## Notes

- Détecte automatiquement la technique d’injection (error-based, blind boolean, time-based) de façon similaire à sqlmap, mais l’exploitation/navigation se fait via le GUI plutôt que par des flags.
- La fonctionnalité d’écriture de fichier (déposer un webshell via `INTO OUTFILE`) nécessite le privilège `FILE` et un chemin de web-root accessible en écriture connu : mêmes contraintes que l’injection manuelle d’écriture de fichier MySQL.
- Utile comme second avis / vérification croisée des résultats de sqlmap sur le même point d’injection.

Aide / Page de manuel

    java -jar jsql-injection.jar [options]

      --url URL             Target URL with injectable parameter
      --data DATA            POST data for the request
      --cookie COOKIE          Cookie header to send
      --header "Name: Val"       Additional HTTP header
      --proxy HOST:PORT            Route requests through a proxy
      --user-agent UA                Custom User-Agent

    Note: jSQL is primarily GUI-driven; most workflows
    (database browsing, admin panel search, file read/write,
    brute force) are performed through the tabbed interface
    after the initial connection is established.