
Joomla JCE (CVE-2026-48907) के लिए स्वचालित RCE एक्सप्लॉइट जिसमें इंटरैक्टिव शेल, बैच कमांड निष्पादन, फ़ाइल डाउनलोड और अधिकृत पेनिट्रेशन परीक्षणों के लिए प्रॉक्सी समर्थन शामिल है।
अधिकृत पेनेट्रेशन परीक्षण, नियंत्रित भेद्यता अनुसंधान और रक्षात्मक सत्यापन के लिए एक पेशेवर कमांड-लाइन उपयोगिता।
केवल अधिकृत उपयोग। इस प्रोजेक्ट को विशेष रूप से केवल उन्हीं प्रणालियों के विरुद्ध चलाएँ जिनके स्वामी आप हैं या जिनके परीक्षण की आपको स्पष्ट रूप से अनुमति है। जब भी संभव हो, एक नियंत्रित प्रयोगशाला वातावरण का उपयोग करें।

JCEzploit एक कमांड-लाइन सुरक्षा अनुसंधान उपयोगिता है, जो उन वातावरणों में Joomla Content Editor (JCE) घटक की प्रोफ़ाइल-आयात कार्यक्षमता का आकलन करने के लिए है, जहाँ परीक्षक के पास स्पष्ट प्राधिकरण होता है। इसे पेशेवर पेनेट्रेशन परीक्षकों, सुरक्षा शोधकर्ताओं और रक्षकों के लिए डिज़ाइन किया गया है, जिन्हें किसी नियंत्रित सेटिंग में रिपोर्ट की गई रिमोट-कोड-निष्पादन स्थिति को दोहराने और सत्यापित करने की आवश्यकता होती है।
यह प्रोजेक्ट एक संरचित कमांड-लाइन कार्यप्रवाह, कॉन्फ़िगर करने योग्य प्रॉक्सी समर्थन, कई निष्पादन मोड, नैदानिक आउटपुट और एक इंटरैक्टिव सेशन इंटरफ़ेस प्रदान करता है। इसका उपयोग केवल उन्हीं लक्ष्यों के विरुद्ध किया जाना चाहिए जो ऑपरेटर के स्वामित्व में हों या लिखित परीक्षण प्राधिकरण द्वारा कवर किए गए हों।
प्रकाशन नोट: इस README को प्रकाशित या वितरित करने से पहले, प्रोजेक्ट के CVE पहचानकर्ता, प्रभावित-संस्करण सीमा, सुधारित संस्करण, प्रकटीकरण स्थिति और परीक्षण मैट्रिक्स को किसी आधिकारिक विक्रेता या भेद्यता डेटाबेस रिकॉर्ड के विरुद्ध सत्यापित करें। नीचे दिया गया मेटाडेटा प्रदान की गई प्रोजेक्ट जानकारी को दर्शाता है और इसे स्वतंत्र भेद्यता पुष्टि के रूप में नहीं माना जाना चाहिए।
यह सॉफ़्टवेयर, जब किसी अननुमोदित लक्ष्य के विरुद्ध उपयोग किया जाता है, तो अनधिकृत पहुँच, डेटा जोखिम, सेवा व्यवधान या सिस्टम समझौते का कारण बन सकता है। अनुरक्षक तृतीय-पक्ष प्रणालियों, सार्वजनिक बुनियादी ढाँचे या बिना प्रलेखित अनुमति वाली प्रणालियों के परीक्षण को अधिकृत नहीं करते हैं।
इस प्रोजेक्ट का उपयोग करके, आप निम्नलिखित के लिए सहमत होते हैं:
केवल उन्हीं प्रणालियों का परीक्षण करें जिनके लिए आपके पास स्पष्ट लिखित प्राधिकरण है।
एक अनुमोदित दायरा, समय-सीमा, दर सीमा (rate limit) और सहभागिता नियम (rules of engagement) परिभाषित करें और उनका पालन करें।
अनावश्यक डेटा तक पहुँचने, उसे संशोधित करने, बाहर निकालने (exfiltrating) या बनाए रखने से बचें।
यदि गतिविधि से सेवा व्यवधान का जोखिम हो या असंबद्ध उपयोगकर्ताओं पर प्रभाव पड़े, तो तुरंत परीक्षण बंद कर दें।
सभी लागू कानूनों, विनियमों, अनुबंधों और संगठनात्मक नीतियों का पालन करें।
सॉफ़्टवेयर के आपके उपयोग के परिणामों की जिम्मेदारी स्वीकार करें।
लेखक और योगदानकर्ता इस प्रोजेक्ट को “जैसा है” (as is) आधार पर प्रदान करते हैं और इसके उपयोग से उत्पन्न दुरुपयोग, क्षति, डेटा हानि, कानूनी दावों या अन्य परिणामों के लिए जिम्मेदार नहीं हैं।
निम्नलिखित विवरण प्रोजेक्ट के साथ प्रदान किए गए थे और किसी सुरक्षा सलाह (security advisory) या उत्पादन मूल्यांकन में उपयोग किए जाने से पहले स्वतंत्र सत्यापन की आवश्यकता होती है।
| फ़ील्ड | प्रदान किया गया प्रोजेक्ट विवरण |
|---|---|
| भेद्यता पहचानकर्ता | CVE-2026-48907 |
| रिपोर्ट की गई समस्या | अप्रमाणित रिमोट कोड निष्पादन |
| रिपोर्ट किए गए प्रभावित संस्करण | JCE 1.0.0 से 2.9.99.4 तक |
| रिपोर्ट किया गया सुधारित संस्करण | JCE 2.9.99.5 |
| प्रदान किया गया परीक्षण वातावरण | Joomla 3.10.11, JCE 2.9.15, Apache 2.4, PHP 7.4 |
| रिपोर्ट की गई गंभीरता | गंभीर; संभावित पूर्ण सिस्टम समझौता |
रक्षात्मक कार्य के लिए, पहले तैनात Joomla और JCE संस्करणों की पुष्टि करें, प्राधिकरण प्राप्त करें, एक रोलबैक योजना बनाएँ, और जब भी संभव हो एक गैर-विनाशकारी सत्यापन विधि को प्राथमिकता दें।
JCEzploit में प्रोजेक्ट सामग्री के अनुसार निम्नलिखित क्षमताएँ शामिल हैं:
| क्षेत्र | क्षमता |
|---|---|
| कार्यप्रवाह | स्वचालित अनुरोध तैयारी और भेद्यता सत्यापन कार्यप्रवाह |
| सेशन इंटरफ़ेस | इतिहास, स्वतः-पूर्णता (completion) और रंगीन आउटपुट के साथ इंटरैक्टिव कमांड सेशन |
| निष्पादन मोड | इंटरैक्टिव, एकल-कमांड, बैच, क्वाइट, वर्बोज़ और डीबग-उन्मुख मोड |
| पहचान | कई फ़ॉलबैक पैटर्न के साथ CSRF-टोकन खोज |
| नेटवर्क नियंत्रण | नियंत्रित अनुरोध निरीक्षण के लिए HTTP/HTTPS प्रॉक्सी समर्थन |
| विश्वसनीयता | कनेक्शन पूलिंग, टाइमआउट और त्रुटि प्रबंधन |
| फ़ाइल संचालन | अधिकृत मूल्यांकन परिदृश्यों के लिए फ़ाइल पुनर्प्राप्ति कार्यक्षमता |
| प्लेटफ़ॉर्म समर्थन | Python 3.6+ के साथ Linux, macOS और Windows वातावरण |
इंटरैक्टिव इंटरफ़ेस निम्नलिखित जैसे कमांड का समर्थन करता है। अनुमोदित परीक्षण वातावरण में केवल गैर-विनाशकारी कमांड का उपयोग करें।
$> whoami # Display the execution identity
$> id # Display user and group information
$> pwd # Display the current working directory
$> exit # Close the session
| आवश्यकता | न्यूनतम या समर्थित मान |
|---|---|
| Python | 3.6 या नया |
| पैकेज प्रबंधक | pip |
| ऑपरेटिंग सिस्टम | Linux, macOS या Windows |
| नेटवर्क पहुँच | केवल निर्भरताएँ स्थापित करने और अधिकृत परीक्षण लक्ष्य तक पहुँचने के लिए आवश्यक |
सटीक निर्भरता सेट requirements.txt में परिभाषित है। होस्ट सिस्टम से प्रोजेक्ट निर्भरताओं को अलग करने के लिए वर्चुअल वातावरण का उपयोग करें।
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
cd JCEzploit-CVE-2026-48907
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
chmod +x jcezploit.py
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
Set-Location JCEzploit-CVE-2026-48907
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
यदि PowerShell निष्पादन नीतियाँ सक्रियण को रोकती हैं, तो सुरक्षा नियंत्रणों को वैश्विक रूप से कमज़ोर करने के बजाय अपने संगठन की एंडपॉइंट-प्रबंधन नीति से परामर्श करें। स्क्रिप्ट को वर्चुअल-वातावरण इंटरप्रेटर के माध्यम से सीधे भी चलाया जा सकता है।
pip install pipenv
pipenv install requests rich
pipenv shell
python jcezploit.py --help
यदि रिपॉज़िटरी में एक अनुरक्षित Dockerfile मौजूद है, तो इसे एक पृथक, अधिकृत प्रयोगशाला वातावरण में बनाएँ और चलाएँ:
docker build -t jcezploit .
docker run --rm -it jcezploit --help
संवेदनशील होस्ट निर्देशिकाओं, उत्पादन क्रेडेंशियल्स या अप्रतिबंधित होस्ट नेटवर्किंग को कंटेनर में माउंट न करें।
हमेशा लक्ष्य के दायरे की समीक्षा करके और अंतर्निहित सहायता प्रदर्शित करके शुरू करें:
python jcezploit.py --help
प्रदान किया गया कमांड-लाइन इंटरफ़ेस नीचे संक्षेप में दिया गया है।
usage: jcezploit.py [-h] -u URL [--proxy PROXY] [-v] [-q]
[--cmd CMD] [--interactive] [--batch FILE]
[--no-confirm]
JCEzploit - Joomla JCE security testing utility
options:
-h, --help Show this help message and exit
-u, --url URL Authorized target base URL (required )
--proxy PROXY HTTP proxy, for example http://127.0.0.1:8080
-v, --verbose Enable diagnostic output
-q, --quiet Suppress non-essential output
--cmd CMD Execute one approved test command and exit
--interactive Start an interactive test session
--batch FILE Read approved test commands from a file
--no-confirm Skip the confirmation prompt; use only in automation
निम्नलिखित उदाहरण आह्वान (invocation) पैटर्न दर्शाते हैं। लक्ष्य को स्पष्ट रूप से अधिकृत प्रयोगशाला या मूल्यांकन एंडपॉइंट से बदलें।
# Start an interactive assessment session.
python jcezploit.py --url http://authorized-lab.example --interactive
# Execute a low-impact identity check.
python jcezploit.py --url http://authorized-lab.example --cmd "id"
# Route requests through a local inspection proxy.
python jcezploit.py \
--url http://authorized-lab.example \
--proxy http://127.0.0.1:8080 \
--interactive \
--verbose
केवल पूर्व-अनुमोदित, गैर-विनाशकारी सत्यापन चरणों वाली एक कमांड फ़ाइल बनाएँ:
# commands.txt
whoami
id
pwd
अनुमोदित लक्ष्य के विरुद्ध बैच फ़ाइल चलाएँ:
python jcezploit.py --url http://authorized-lab.example --batch commands.txt
नियंत्रित वातावरण में अनुरोध प्रवाह की समस्या निवारण करते समय या किसी मूल्यांकन रिपोर्ट के लिए साक्ष्य एकत्र करते समय --verbose का उपयोग करें। किसी अनुमोदित स्वचालन पाइपलाइन में आउटपुट को एकीकृत करते समय --quiet का उपयोग करें। साझा लॉग में गुप्त जानकारी (secrets), सेशन टोकन, प्रतिक्रिया निकाय (response bodies) या व्यक्तिगत डेटा संग्रहीत करने से बचें।
प्रोजेक्ट कमांड-लाइन कॉन्फ़िगरेशन स्वीकार करता है। निम्नलिखित पर्यावरण-चर प्रथा का उपयोग रैपर या स्थानीय रनबुक द्वारा किया जा सकता है, बशर्ते कि कार्यान्वयन स्पष्ट रूप से इसका समर्थन करता हो:
TARGET_URL=http://authorized-lab.example
PROXY=http://127.0.0.1:8080
VERBOSE=true
QUIET=false
.env फ़ाइलों, क्रेडेंशियल्स, टोकन, लक्ष्य सूचियों, कैप्चर की गई प्रतिक्रियाओं या मूल्यांकन परिणामों को संस्करण नियंत्रण में कमिट न करें। स्थानीय कॉन्फ़िगरेशन फ़ाइलों को .gitignore में जोड़ें और जहाँ उपयुक्त हो, सीक्रेट्स मैनेजर का उपयोग करें।
JCEzploit/
├── jcezploit.py # Main command-line program
├── requirements.txt # Runtime dependencies
├── README.md # Project documentation
├── LICENSE # MIT License
├── .gitignore # Ignored local and generated files
├── setup.sh # Optional setup helper
├── sample_commands.txt # Example command file
├── Dockerfile # Container build definition
├── verify.py # Dependency verification helper
└── docs/
├── vulnerability_details.md
├── pentest_guide.md
└── changelog.md
उपरोक्त ट्री प्रदान की गई प्रोजेक्ट संरचना को दर्शाता है। जब भी फ़ाइलें जोड़ी, हटाई या नाम बदली जाएँ, इसे अपडेट करें।
विकास निर्भरताएँ केवल तभी स्थापित करें जब रिपॉज़िटरी एक अनुरक्षित requirements-dev.txt फ़ाइल प्रदान करती है:
pip install -r requirements-dev.txt
python -m pytest tests/
पुल रिक्वेस्ट खोलने से पहले, पुष्टि करें कि परिवर्तन प्रलेखित हैं, परीक्षण पास होते हैं, त्रुटि प्रबंधन स्पष्ट रहता है, और कमिट में कोई लक्ष्य डेटा या गुप्त जानकारी (secrets) शामिल नहीं हैं। पार्सिंग, इनपुट सत्यापन, प्रॉक्सी हैंडलिंग, टाइमआउट व्यवहार और सुरक्षित विफलता पथों के लिए रिग्रेशन परीक्षण जोड़ें।
एक पेशेवर मूल्यांकन में जब भी संभव हो एक समर्पित परीक्षण वातावरण का उपयोग किया जाना चाहिए। सत्यापन से पहले बैकअप या स्नैपशॉट लें, एक आपातकालीन रोक प्रक्रिया परिभाषित करें, एप्लिकेशन और होस्ट स्वास्थ्य की निगरानी करें, और पूरे परीक्षण समय-सीमा के दौरान सिस्टम स्वामी के साथ समन्वय करें।
टूल का उपयोग स्थायित्व (persistence) स्थापित करने, अतिरिक्त मैलवेयर तैनात करने, निगरानी से बचने, असंबद्ध खातों तक पहुँचने, संवेदनशील फ़ाइलें डंप करने या पार्श्व गति (lateral movement) करने के लिए नहीं किया जाना चाहिए। साक्ष्य संग्रह, निष्कर्ष प्रदर्शित करने के लिए आवश्यक सीमा तक ही सीमित होना चाहिए और ग्राहक की डेटा-प्रबंधन आवश्यकताओं का पालन करना चाहिए।
यदि परीक्षण से कोई पूर्व-अज्ञात समस्या सामने आती है, तो शोषण विवरण तुरंत प्रकाशित न करें। प्रभावित विक्रेता या प्रोजेक्ट को निजी रूप से सूचित करें, प्रतिलिपि-योग्य (reproducible) रक्षात्मक साक्ष्य प्रदान करें, सुधार के लिए उचित समय दें, और किसी भी सार्वजनिक प्रकटीकरण का समन्वय करें। प्रोजेक्ट की प्रकाशित सुरक्षा-रिपोर्टिंग मार्गदर्शन के लिए Joomla Security Centre देखें।
जिम्मेदार, रक्षात्मक अनुसंधान का समर्थन करने वाले सुरक्षा पेशेवरों और डेवलपर्स से योगदान का स्वागत है। महत्वपूर्ण परिवर्तनों से पहले कृपया एक issue खोलें ताकि दायरे और सुरक्षा अपेक्षाओं पर चर्चा की जा सके।
एक विशिष्ट योगदान कार्यप्रवाह है:
git checkout -b feature/documentation-improvement
# Make and test your changes
git add .
git commit -m "Improve documentation"
git push origin feature/documentation-improvement
पुल रिक्वेस्ट को संबोधित की जा रही समस्या की व्याख्या करनी चाहिए, परिवर्तन का वर्णन करना चाहिए, परीक्षण कवरेज की पहचान करनी चाहिए, और किसी भी संगतता या सुरक्षा निहितार्थ का दस्तावेजीकरण करना चाहिए। Python कोड के लिए PEP 8 का पालन करें, स्पष्ट त्रुटि संदेशों को प्राथमिकता दें, गुप्त जानकारी (secrets) एम्बेड करने से बचें, और प्रोजेक्ट के नैतिक-उपयोग सुरक्षा उपायों को बनाए रखें।
प्रारंभिक प्रोजेक्ट रिलीज़।
रिपोर्ट की गई JCE सुरक्षा-परीक्षण कार्यप्रवाह जोड़ी गई।
इंटरैक्टिव सेशन समर्थन जोड़ा गया।
अधिकृत परीक्षण के लिए फ़ाइल-पुनर्प्राप्ति कार्यक्षमता जोड़ी गई।
बैच कमांड प्रोसेसिंग जोड़ी गई।
प्रॉक्सी समर्थन जोड़ा गया।
समृद्ध कमांड-लाइन आउटपुट जोड़ा गया।
क्रॉस-प्लेटफ़ॉर्म समर्थन जोड़ा गया।
रक्षात्मक सत्यापन कवरेज का विस्तार करें।
समर्थित Joomla और JCE संस्करणों में संगतता परीक्षण में सुधार करें।
संरचित मूल्यांकन-रिपोर्ट आउटपुट जोड़ें।
मजबूत इनपुट सत्यापन और सुरक्षित डिफ़ॉल्ट व्यवहार जोड़ें।
स्वचालित यूनिट और एकीकरण परीक्षण जोड़ें।
दोहराए जाने योग्य अनुसंधान के लिए एक प्रलेखित प्रयोगशाला सेटअप प्रदान करें।
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत वितरित किया जाता है। पूर्ण लाइसेंस पाठ के लिए LICENSE देखें।
MIT License
Copyright (c) 2024 Sudeepa Wanigarathna
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Sudeepa Wanigarathna
सुरक्षा शोधकर्ता और पेनेट्रेशन परीक्षक
CVE मेटाडेटा के 4 में स्वतंत्र सत्यापन के बाद, प्रोजेक्ट को एक सीधे भेद्यता-रिकॉर्ड लिंक के साथ अपडेट किया जाना चाहिए। सामान्य रक्षात्मक परीक्षण मार्गदर्शन 3 में उपलब्ध है।
इस प्रोजेक्ट का उपयोग जिम्मेदारी से, कानूनी रूप से और केवल स्पष्ट प्राधिकरण के साथ करें।