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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-68147-OSPOS-Stored-XSS — CVE-2025-68147 के लिए PoC रिपॉजिटरी: OpenSourcePOS में संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS)। यह भेद्यता Store Config मॉड्यूल में दुर्भावनापूर्ण JavaScript इंजेक्शन के माध्यम से विशेषाधिकार वृद्धि (privilege escalation) की अनुमति देती है। इसमें पेलोड विवरण और पैच सत्यापन (v3.4.0) शामिल है। सुरक्षा शोधकर्ता: Aditya Singh (Nixon-H)। | Kitploit
उपकरण/GitHubGitHub/nixon-h/cve-2025-68147-ospos-stored-xss
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubnixon-h/cve-2025-68147-ospos-stored-xss

CVE-2025-68147-OSPOS-Stored-XSS

रिपॉजिटरी देखें

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

सभी देखें →

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

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

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

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

विवरण

CVE-2025-68147 के लिए PoC रिपॉजिटरी: OpenSourcePOS में संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS)। यह भेद्यता Store Config मॉड्यूल में दुर्भावनापूर्ण JavaScript इंजेक्शन के माध्यम से विशेषाधिकार वृद्धि (privilege escalation) की अनुमति देती है। इसमें पेलोड विवरण और पैच सत्यापन (v3.4.0) शामिल है। सुरक्षा शोधकर्ता: Aditya Singh (Nixon-H)।

212 महीने पहलेअभी तक समीक्षित नहीं
साझा करें

CVE-2025-68147: OpenSourcePOS में स्टोर्ड क्रॉस-साइट स्क्रिप्टिंग (XSS)

मेटाडेटाविवरण
CVE आईडीCVE-2025-68147
गंभीरताउच्च CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:N
भेद्यता प्रकारस्टोर्ड क्रॉस-साइट स्क्रिप्टिंग (CWE-79)
प्रभावित संस्करणOpenSourcePOS v3.4.0, v3.4.1
पैच किया गया संस्करणv3.4.2
भेद्य घटकस्टोर कॉन्फ़िगरेशन मॉड्यूल (रिटर्न पॉलिसी फ़ील्ड)
रिपोर्टकर्ताAditya Singh (Nixon-H)

📝 कार्यकारी सारांश

OpenSourcePOS के स्टोर कॉन्फ़िगरेशन मॉड्यूल में एक स्टोर्ड क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता की खोज की गई। एप्लिकेशन ospos_app_config डेटाबेस टेबल में संग्रहीत करने से पहले "रिटर्न पॉलिसी" फ़ील्ड में उपयोगकर्ता-आपूर्ति किए गए इनपुट को ठीक से सैनिटाइज़ करने में विफल रहा।

इस दोष ने कॉन्फ़िगरेशन विशेषाधिकारों वाले एक प्रमाणित हमलावर (या एक अलग CSRF श्रृंखला का शोषण करने वाले हमलावर) को मनमाना JavaScript पेलोड इंजेक्ट करने की अनुमति दी। चूंकि "रिटर्न पॉलिसी" प्रत्येक बिक्री रसीद पर गतिशील रूप से प्रस्तुत की जाती है, इसलिए इंजेक्ट किया गया पेलोड किसी भी उपयोगकर्ता के ब्राउज़र में स्वचालित रूप से निष्पादित होता है—जिसमें निम्न-विशेषाधिकार वाले कैशियर, अन्य व्यवस्थापक, या ग्राहक शामिल हैं—जब भी रसीद उत्पन्न या देखी जाती है।


🕵️‍♂️ तकनीकी मूल कारण विश्लेषण

1. भेद्य तर्क

यह भेद्यता रसीद व्यू टेम्पलेट में स्थित है: app/Views/sales/receipt_default.php।

एप्लिकेशन वैश्विक कॉन्फ़िगरेशन सरणी ($this->config['return_policy']) से "रिटर्न पॉलिसी" स्ट्रिंग प्राप्त करता है और इसे प्रदर्शन के लिए तैयार करता है।

  • गलती: डेवलपर्स ने न्यूलाइन को HTML लाइन ब्रेक (<br>) में बदलने के लिए मूल PHP फ़ंक्शन nl2br() का उपयोग किया।
  • विफलता: nl2br() HTML विशेष वर्णों को सैनिटाइज़ नहीं करता। यह <script>, `` जैसे टैग और onload विशेषताओं को पूरी तरह से अक्षुण्ण छोड़ देता है।

भेद्य कोड (पैच से पहले):

root@kitploit:~
<div id="sale_return_policy">
    <?php echo nl2br($this->config['return_policy']); ?>
</div>

2. डेटाबेस स्थायित्व

जब कोई व्यवस्थापक कॉन्फ़िगरेशन सहेजता है, तो पेलोड डेटाबेस में कच्चे रूप में संग्रहीत होता है।

  • टेबल: ospos_app_config
  • कुंजी: return_policy
  • मान: Policy Text... <script>alert('XSS')</script>

चूंकि कंट्रोलर साइड (Config.php) पर कोई इनपुट सैनिटाइज़ेशन नहीं है और व्यू साइड (receipt_default.php) पर कोई आउटपुट एस्केपिंग नहीं है, इसलिए एप्लिकेशन स्टोर्ड XSS के प्रति भेद्य है।


💥 प्रूफ ऑफ कॉन्सेप्ट (PoC)

हमला वेक्टर

यह हमला स्टोर कॉन्फ़िगरेशन पैनल को लक्षित करता है लेकिन सेल्स/रसीद मॉड्यूल को प्रभावित करता है।

  1. प्रवेश बिंदु: http://[TARGET]/config (कॉन्फ़िगरेशन सहेजने के लिए POST अनुरोध)
  2. निष्पादन बिंदु: http://[TARGET]/sales/receipt/[SALE_ID]

चरण-दर-चरण शोषण

चरण 1: इंजेक्शन हमने एक व्यवस्थापक के रूप में लॉग इन किया और स्टोर कॉन्फ़िगरेशन -> सामान्य पर नेविगेट किया। "रिटर्न पॉलिसी" टेक्स्ट क्षेत्र में, हमने निम्नलिखित विशिष्ट पेलोड इंजेक्ट किया:

root@kitploit:~
Standard Return Policy: No Refunds.
<script>alert('XSS_BY_NIXON_SUCCESSFUL')</script>

चरण 2: स्थायित्व "सबमिट" पर क्लिक करने पर, एप्लिकेशन ने /config/save को एक POST अनुरोध भेजा। पेलोड सफलतापूर्वक डेटाबेस में दर्ज हो गया।

चरण 3: ट्रिगर अन्य उपयोगकर्ताओं पर प्रभाव सत्यापित करने के लिए:

  1. हमने लॉग आउट किया और एक कैशियर (निम्न-विशेषाधिकार खाता) के रूप में फिर से लॉग इन किया।
  2. हमने सेल्स मॉड्यूल पर नेविगेट किया।
  3. हमने कार्ट में एक परीक्षण आइटम जोड़ा और "कंप्लीट सेल" पर क्लिक किया।
  4. परिणाम: एप्लिकेशन रसीद दृश्य पर रीडायरेक्ट करता है (जैसे, http://localhost/sales/receipt/1)। ब्राउज़र return_policy div को पार्स करता है, <script> टैग का सामना करता है, और तुरंत JavaScript निष्पादित करता है।

देखा गया परिणाम: संदेश के साथ एक ब्राउज़र अलर्ट बॉक्स दिखाई दिया: XSS_BY_NIXON_SUCCESSFUL।

📷 मीडिया प्रमाण

स्क्रीनशॉट 1: अलर्ट ट्रिगर

स्क्रीनशॉट 2: कॉन्फ़िगरेशन में पेलोड

🎥 वीडियो प्रदर्शन: PoC वीडियो डाउनलोड करने / देखने के लिए क्लिक करें


⚠️ प्रभाव परिदृश्य

यह एक स्कोप चेंज्ड (S:C) भेद्यता है क्योंकि हमला सर्वर पर संग्रहीत होता है लेकिन पीड़ित के ब्राउज़र संदर्भ में निष्पादित होता है।

  1. विशेषाधिकार वृद्धि और खाता अधिग्रहण:
  • परिदृश्य: एक हमलावर सत्र कुकीज़ चुराने के लिए डिज़ाइन किया गया JavaScript पेलोड इंजेक्ट करता है।
  • निष्पादन: एक सुपर व्यवस्थापक पिछली रसीद देखता है (जैसे, /sales/receipt/105)। स्क्रिप्ट चुपचाप निष्पादित होती है, document.cookie (जिसमें ospos_session आईडी होती है) को हमलावर के सर्वर पर भेजती है।
  • प्रभाव: हमलावर सुपर एडमिन के सत्र को हाईजैक कर लेता है, बिना पासवर्ड की आवश्यकता के सिस्टम पर पूर्ण नियंत्रण प्राप्त कर लेता है।
  1. वर्म-सक्षम व्यवस्थापक निर्माण:
  • परिदृश्य: पेलोड एक स्क्रिप्ट है जो प्रशासनिक क्रियाएं करने के लिए AJAX (XMLHttpRequest) का उपयोग करती है।
  • निष्पादन: जब कोई लॉग-इन व्यवस्थापक रसीद देखता है, तो स्क्रिप्ट उनके ब्राउज़र को /employees/save पर एक छिपा हुआ POST अनुरोध भेजने के लिए मजबूर करती है।
  • प्रभाव: पृष्ठभूमि में तुरंत एक नया व्यवस्थापक खाता (जैसे, hacker / password123) बन जाता है। पीड़ित को रसीद के अलावा कुछ नहीं दिखता, जबकि हमलावर को स्थायी बैकडोर मिल जाता है।
  1. विरूपण और फ़िशिंग:
  • परिदृश्य: हमलावर रसीद की वित्तीय जानकारी बदलने के लिए DOM को संशोधित करता है।
  • निष्पादन: "रिटर्न पॉलिसी" स्क्रिप्ट फुटर या भुगतान निर्देशों को फिर से लिखती है।
  • प्रभाव: रसीदों पर धोखाधड़ी वाले बैंक विवरण या क्रिप्टो वॉलेट पते प्रदर्शित होते हैं ("कृपया भुगतान यहां स्थानांतरित करें..."), जिससे ग्राहकों या व्यवसाय के विरुद्ध वित्तीय धोखाधड़ी होती है।

🛡️ उपचार (Remediation)

इस भेद्यता को OpenSourcePOS v3.4.2 में ठीक कर दिया गया था।

मेंटेनर ने एक पैच लागू किया जो संदर्भ-जागरूक आउटपुट एन्कोडिंग (Context-Aware Output Encoding) लागू करता है। कॉन्फ़िगरेशन मान अब nl2br() को पास करने से पहले CodeIgniter के वैश्विक esc() हेल्पर फ़ंक्शन में लपेटा जाता है।

पैच (कमिट 22297a):

root@kitploit:~
<div id="sale_return_policy">
    <?php echo nl2br(esc($this->config['return_policy'])); ?>
</div>

सत्यापन: v3.4.2 में अपग्रेड करने के बाद, वही पेलोड हानिरहित टेक्स्ट के रूप में प्रस्तुत होता है:

Standard Return Policy: No Refunds. &lt;script&gt;alert('XSS_BY_NIXON_SUCCESSFUL')&lt;/script&gt;


📅 प्रकटीकरण समयरेखा

  • 2025-12-12: भेद्यता की खोज एक मैन्युअल सुरक्षा ऑडिट के दौरान Aditya Singh (Nixon-H) द्वारा की गई।
  • 2025-12-13: जिम्मेदार प्रकटीकरण रिपोर्ट ईमेल/GitHub के माध्यम से मेंटेनर (Jeroen Peelaerts) को भेजी गई।
  • 2025-12-14: भेद्यता की पुष्टि मेंटेनर द्वारा की गई। CVE-2025-68147 आरक्षित किया गया।
  • 2025-12-14: पैच विकसित किया गया (कमिट 22297a) और शोधकर्ता द्वारा सत्यापित किया गया।
  • 2025-12-19: पैच संस्करण 3.4.2 में जारी किया गया।
  • 2025-12-19: GitHub सुरक्षा सलाह (GitHub Security Advisory) के माध्यम से सार्वजनिक प्रकटीकरण।

🔗 संदर्भ

  • सलाह: GHSA-xgr7-7pvw-fpmh
  • पैच: कमिट 22297a
  • रिपोर्टकर्ता: Aditya Singh (Nixon-H)
टूल डाउनलोड करें