Maison  >  Article  >  Opération et maintenance  >  Quelles sont les cinq injections sql de piwigo v2.9.5 ?

Quelles sont les cinq injections sql de piwigo v2.9.5 ?

PHPz
PHPzavant
2023-05-15 20:55:10958parcourir

0x0 Introduction au projet

Adresse du projet : https://github.com/Piwigo/Piwigo

Introduction au projet : piwigo est un logiciel de studio photo open source pour Internet. Conçu pour les organisations, les équipes et les individus pour gérer votre photothèque.

Adresse officielle du site : piwigo.org

0x1 Préparation

Télécharger sous Linux https://github.com/Piwigo/Piwigo/archive/2.9.5.zip Décompressez, responsabilisez, entrez dans le répertoire et installez à l'aide de docker :

docker run -d --name piwigo_mysql -e MYSQL_DATABASE=piwigo -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run -d -p 3000:80 -v $(pwd)/:/var/www/html/ --link piwigo_mysql:mysql --name piwigo nimmis/apache-php5

Vous pouvez voir l'interface de démarrage

Audit 0x2

Injection des paramètres de sélection et parents dans admin/group_perm.php:

la valeur de sélection est entrée dans la fonction move_categories sans vérification

piwigo v2.9.5的5个sql注入分别是怎样的

En traçant la fonction move_categories, vous pouvez voir que la fonction décompose la valeur et la connecte directement à l'instruction SQL

piwigo v2.9.5的5个sql注入分别是怎样的

Vous pouvez trouver la vulnérabilité après avoir testé

piwigo v2.9.5的5个sql注入分别是怎样的piwigo v2.9.5的5个sql注入分别是怎样的

Le paramètre group_selection dans admin/group_list. .php existe une injection SQL :

Vous pouvez voir sur l'image que la valeur group_selection est mise dans $groups, et la valeur selectAction est mise dans $action

piwigo v2.9.5的5个sql注入分别是怎样的

Dans le code, $action correspond à plusieurs actions, mais dans plusieurs actions Ici, $group est directement collé dans l'instruction sql Ici, je vais jeter un œil à la méthode delete :

piwigo v2.9.5的5个sql注入分别是怎样的

Ici, il est très intuitif de voir qu'il est mis dans l'instruction sql.

piwigo v2.9.5的5个sql注入分别是怎样的

三admin/ Injection SQL du paramètre cat_false dans user_perm.php :

Vous pouvez voir sur l'image que cat_false est mis dans la fonction,

piwigo v2.9.5的5个sql注入分别是怎样的

Nous suivons cette fonction et trouvons la fonction dans admin/include/functions.php, la valeur de $cat_false devient $category et est placée dans la fonction get_uppercat_ids pour traitement après avoir jugé s'il s'agit d'un tableau et jugé la quantité

piwigo v2.9.5的5个sql注入分别是怎样的

continue de suivre la fonction get_uppercat_ids. Le paramètre avec la vulnérabilité ci-dessus devient $cat_ids. Vous pouvez voir le $ dans l'image. Après un simple jugement, cat_ids est mis dans l'instruction SQL et la requête démarre

piwigo v2.9.5的5个sql注入分别是怎样的

Ce type de fonction vulnérable saute beaucoup, et il n'y a pas d'endroit évident pour voir l'écho. Cette situation est particulièrement adaptée à l'injection de temps. Nous utilisons

La vérification peut trouver le retard dans l'ouverture de la page Web, prouvant l'existence de la vulnérabilité. 1 and if(ascii(substr(database(),1,1))>97,1,sleep(5))

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

quatre vulnérabilités SQL dans admin/group_perm.php :

Cette vulnérabilité est similaire aux trois vulnérabilités admin/user_perm ci-dessus. Les vulnérabilités php sont les mêmes, la même fonction est appelée, la seule différence est. l'utilisateur et le groupe, regardez l'image d'entrée pour comprendre :

piwigo v2.9.5的5个sql注入分别是怎样的sqlmap run

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

5 paramètre filter_category dans admin/batch_manager.php Injection existante :

Regardons le code spécifique : Lorsque la clé 'filter_category_use' existe dans le package de publication, définissez la valeur 'filter_category' sur xx['category']

piwigo v2.9.5的5个sql注入分别是怎样的Descendez et trouvez xx['category'] Là où il est appelé, vous pouvez voir que la valeur est placée directement dans l'instruction SQL sans être filtrée.

Il convient de noter que ce lien de demande n'est pas trouvé dans la page Web et doit être ajouté manuellement dans le package de publicationfilter_category_use=on&filter_category=1

piwigo v2.9.5的5个sql注入分别是怎样的

sqlmap et exécutez-le

piwigo v2.9.5的5个sql注入分别是怎样的

piwigo v2.9.5的5个sql注入分别是怎样的

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer