Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was sind die fünf SQL-Injektionen von Piwigo v2.9.5?

Was sind die fünf SQL-Injektionen von Piwigo v2.9.5?

PHPz
PHPznach vorne
2023-05-15 20:55:10900Durchsuche

0x0 Projekteinführung

Projektadresse: https://github.com/Piwigo/Piwigo

Projekteinführung: piwigo ist eine Open-Source-Fotostudio-Software für das Internet. Entwickelt für Organisationen, Teams und Einzelpersonen zur Verwaltung Ihrer Fotobibliothek.

Offizielle Website-Adresse: piwigo.org

0x1 Vorbereitung

Download unter Linux https://github.com/Piwigo/Piwigo/archive/2.9.5.zip Entpacken, aktivieren, in das Verzeichnis eingeben und mit Docker installieren :

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

Sie können die Startoberfläche sehen

0x2 Audit

Einfügung der Auswahl- und übergeordneten Parameter in admin/group_perm.php:

Auswahlwert wird ohne Überprüfung in die Funktion move_categories eingegeben

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

Wenn Sie die Funktion „move_categories“ verfolgen, können Sie sehen, dass die Funktion den Wert zerlegt und ihn direkt mit der SQL-Anweisung verbindet.

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

Sie können die Schwachstelle nach dem Testen des Parameters „group_selection“ in „admin/group_list“ finden .php existiert SQL-Injection:

piwigo v2.9.5的5个sql注入分别是怎样的Sie können im Bild sehen, dass der Wert „group_selection“ in $groups und der Wert „selectAction“ in $action eingefügt wirdpiwigo v2.9.5的5个sql注入分别是怎样的

Im Code entspricht $action mehreren Aktionen. aber in mehreren Aktionen Hier wird $group direkt in die SQL-Anweisung eingefügt:

piwigo v2.9.5的5个sql注入分别是怎样的Hier ist es sehr intuitiv zu sehen, dass es in die SQL-Anweisung eingefügt wird

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

三admin/ SQL-Injection des cat_false-Parameters in user_perm.php:

Sie können im Bild sehen, dass cat_false in die Funktion eingefügt wird, piwigo v2.9.5的5个sql注入分别是怎样的

Wir verfolgen diese Funktion und finden die Funktion in admin/include/functions.php, Der Wert von $cat_false ändert sich in $category und wird zur Verarbeitung in die Funktion get_uppercat_ids eingefügt, nachdem beurteilt wurde, ob es sich um ein Array handelt und die Menge beurteilt wurde.

piwigo v2.9.5的5个sql注入分别是怎样的 verfolgt weiterhin die Funktion get_uppercat_ids. Der Parameter mit der oben genannten Sicherheitsanfälligkeit ändert sich in $cat_ids. Nach einer einfachen Beurteilung wird cat_ids in die SQL-Anweisung eingefügt. Diese Art von anfälliger Funktion springt stark. und es gibt keinen offensichtlichen Ort, an dem das Echo zu sehen ist. Wir verwenden die

-Überprüfung, um die Existenz der Schwachstelle zu beweisen

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

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

Vier SQL-Schwachstellen in admin/group_perm.php:

Diese Schwachstelle ähnelt den oben genannten drei admin/user_perm. Die PHP-Schwachstellen sind gleich, die gleiche Funktion wird aufgerufen, der einzige Unterschied besteht darin Schauen Sie sich als Benutzer und Gruppe das Eintragsbild an, um zu verstehen: 1 and if(ascii(substr(database(),1,1))>97,1,sleep(5))

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

sqlmap run

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

5 filter_category-Parameter in admin/batch_manager.php Vorhandene Injektion:

Sehen wir uns den spezifischen Code an: piwigo v2.9.5的5个sql注入分别是怎样的

Wenn der Schlüssel „filter_category_use“ im Post-Paket vorhanden ist, setzen Sie den Wert „filter_category“ auf xx['category']

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

Gehen Sie nach unten und suchen Sie xx['category'] Wo es heißt, können Sie sehen dass der Wert direkt in die SQL-Anweisung eingefügt wird, ohne gefiltert zu werden.

Es ist zu beachten, dass dieser Anforderungslink nicht auf der Webseite zu finden ist und manuell im Post-Paket hinzugefügt werden mussfilter_category_use=on&filter_category=1

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

sqlmap und ausführen

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

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

Das obige ist der detaillierte Inhalt vonWas sind die fünf SQL-Injektionen von Piwigo v2.9.5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen