
WordPress Forminator को CVE-2026-15748 बिना प्रमाणीकरण वाले RCE के लिए स्कैन करता है। भेद्य साइटों का पता लगाता है, फ़ॉर्म क्रॉल करता है, नॉन्स निकालता है, और सुरक्षित अपलोड परीक्षण चलाता है।
WordPress इंस्टॉलेशन की पहचान करने के लिए एक Python-आधारित सुरक्षा अनुसंधान और भेद्यता मूल्यांकन स्कैनर, जो Forminator प्लगइन का उपयोग करते हैं, और संस्करण-संबंधित जोखिम का आकलन करता है।
केवल शैक्षिक और अधिकृत परीक्षण के लिए
इस प्रोजेक्ट को केवल उन सिस्टम के विरुद्ध चलाएँ जिनके आप स्वामी हैं या जिनका मूल्यांकन करने के लिए आपके पास स्पष्ट अनुमति है।
CVE-2026-15748, WordPress के लिए Forminator प्लगइन से जुड़ी एक भेद्यता है।
यह प्रोजेक्ट सुरक्षा अनुसंधान और अधिकृत परीक्षण के लिए एक स्कैनर प्रदान करता है। यह WordPress की पहचान करने, Forminator का पता लगाने, जहाँ संभव हो स्थापित संस्करण निर्धारित करने, प्रासंगिक पृष्ठों और फ़ॉर्मों का निरीक्षण करने, और परिणामी मूल्यांकन की रिपोर्ट करने के लिए निष्क्रिय और अनुप्रयोग-स्तरीय जाँचों का एक क्रम निष्पादित करता है।
इस स्कैनर का उद्देश्य सुरक्षा शोधकर्ताओं को अधिकृत WordPress वातावरणों के जोखिम को समझने में सहायता करना है, बिना किसी स्कैनर परिणाम को शोषणीयता का पूर्ण प्रमाण माने।
स्कैनर इस सामान्य कार्यप्रवाह का अनुसरण करता है:
Target
|
v
Normalize URL
|
v
Detect WordPress
|
+---- not detected ----> NOT WORDPRESS
|
v
Crawl relevant pages
|
v
Detect Forminator
|
v
Detect Forminator version
|
v
Compare version
|
v
Inspect forms
|
v
Generate result
| विशेषता | विवरण |
|---|---|
| WordPress Detection | यह पता लगाता है कि लक्ष्य WordPress का उपयोग करता प्रतीत होता है या नहीं। |
| Forminator Detection | Forminator प्लगइन के संकेतकों की खोज करता है। |
| Version Detection | उपलब्ध स्रोतों से स्थापित Forminator संस्करण की पहचान करने का प्रयास करता है। |
| Version Check | पता लगाए गए संस्करण की तुलना कॉन्फ़िगर किए गए VULN_MAX मान से करता है। |
| Website Crawling | आगे के निरीक्षण के लिए प्रासंगिक पृष्ठों और आंतरिक लिंक एकत्र करता है। |
| Sitemap Detection | सामान्य WordPress sitemap स्थानों की जाँच करता है। |
| Form Detection | प्रासंगिक Forminator फ़ॉर्म और फ़ॉर्म तत्वों की खोज करता है। |
| Nonce Detection | पता लगाए गए फ़ॉर्म डेटा में Forminator nonce की पहचान करने का प्रयास करता है। |
| Multi-threading | एक साथ कई लक्ष्यों के प्रसंस्करण का समर्थन करता है। |
| Retry Handling | कॉन्फ़िगर की गई सीमा के अनुसार विफल अनुरोधों को पुनः प्रयास करता है। |
| Request Delay | अनुरोधों के बीच एक कॉन्फ़िगर योग्य यादृच्छिक विलंब जोड़ता है। |
| Detailed Results | एकत्र किए गए मूल्यांकन परिणामों को एक विस्तृत परिणाम फ़ाइल में लिखता है। |
requestspackagingurllib3आवश्यक पैकेज स्थापित करें:
pip install requests packaging urllib3
या:
python -m pip install requests packaging urllib3
रिपॉज़िटरी को क्लोन करें:
git clone https://github.com/yora1928/cve-2026-15748.git
प्रोजेक्ट निर्देशिका में प्रवेश करें:
cd cve-2026-15748
निर्भरताएँ स्थापित करें:
pip install requests packaging urllib3
Python इंस्टॉलेशन सत्यापित करें:
python --version
स्कैनर कॉन्फ़िगरेशन सीधे स्रोत कोड में परिभाषित किया गया है:
TIMEOUT = 15
THREADS = 8
VULN_MAX = "1.56.1"
MAX_RETRIES = 3
DELAY_MIN = 1.0
DELAY_MAX = 2.5
CRAWL_DEPTH = 2
| वेरिएबल | डिफ़ॉल्ट | विवरण |
|---|---|---|
TIMEOUT | 15 | HTTP अनुरोध टाइमआउट। |
THREADS | 8 | स्कैनिंग के लिए उपयोग किए जाने वाले वर्कर थ्रेड्स की संख्या। |
VULN_MAX | 1.56.1 | स्कैनर के वर्ज़न आकलन द्वारा प्रभावित माना जाने वाला अधिकतम वर्ज़न। |
MAX_RETRIES | 3 | विफल अनुरोधों के लिए अधिकतम पुनःप्रयास संख्या। |
DELAY_MIN | 1.0 | न्यूनतम अनुरोध विलंब। |
DELAY_MAX | 2.5 | अधिकतम अनुरोध विलंब। |
CRAWL_DEPTH | 2 | अधिकतम क्रॉलिंग गहराई। |
ऊपर दिए गए मान स्कैनर के वर्तमान स्रोत-कोड कॉन्फ़िगरेशन का वर्णन करते हैं।
स्कैनर या तो एकल लक्ष्य URL या कई लक्ष्य URL वाली एक टेक्स्ट फ़ाइल स्वीकार करता है।
python cve-2026-15748.py -u https://target.com
-u और --url एक लक्ष्य URL निर्दिष्ट करते हैं।
इस मोड का उपयोग तब करें जब किसी एकल अधिकृत वातावरण के विरुद्ध आकलन किया जा रहा हो।
targets.txt जैसी एक फ़ाइल बनाएँ:
https://target1.example
https://target2.example
https://target3.example
फिर चलाएँ:
python cve-2026-15748.py -f targets.txt
-f और --file लक्ष्य सूची निर्दिष्ट करते हैं।
प्रत्येक गैर-रिक्त पंक्ति को एक लक्ष्य के रूप में माना जाता है।
डिफ़ॉल्ट कॉन्फ़िगरेशन 8 थ्रेड्स का उपयोग करता है।
उदाहरण के लिए:
python cve-2026-15748.py -f targets.txt -t 10
या:
python cve-2026-15748.py -f targets.txt -t 5
-t स्कैनर द्वारा उपयोग किए जाने वाले वर्कर थ्रेड्स की संख्या बदलता है।
स्कैनर एक वैकल्पिक --upload मोड भी प्रदान करता है:
python cve-2026-15748.py -u https://lab.example.com --upload
कई अधिकृत लक्ष्यों के लिए:
python cve-2026-15748.py -f authorized-targets.txt -t 5 --upload
यह मोड, जब संबंधित शर्तें पूरी होती हैं, तो Forminator endpoint के विरुद्ध POST/upload अनुरोध कर सकता है।
--upload का उपयोग केवल उन सिस्टम पर करें जहाँ यह परीक्षण स्पष्ट रूप से अधिकृत है।
| कमांड | उद्देश्य |
|---|---|
-u, --url | एकल लक्ष्य URL स्कैन करें। |
-f, --file | किसी फ़ाइल से कई लक्ष्य पढ़ें। |
-t | स्कैनिंग थ्रेड्स की संख्या सेट करें। |
--upload | अधिकृत लक्ष्य के लिए upload परीक्षण मोड सक्षम करें। |
एकल लक्ष्य:
python cve-2026-15748.py -u https://target.com
एकाधिक लक्ष्य:
python cve-2026-15748.py -f targets.txt
कस्टम कॉन्करेंसी के साथ कई लक्ष्य:
python cve-2026-15748.py -f targets.txt -t 10
Authorized lab upload test:
python cve-2026-15748.py -u https://lab.example.com --upload
स्कैनर मूल्यांकन के दौरान कई चरण निष्पादित करता है।
अनुरोध किए जाने से पहले लक्ष्य URL को सामान्यीकृत किया जाता है ताकि बाद की जाँचें एक सुसंगत URL प्रारूप का उपयोग करें।
स्कैनर सामान्य WordPress संकेतकों और एंडपॉइंट्स की जाँच करता है, जिनमें शामिल हैं:
/wp-login.php
/wp-json
/xmlrpc.php
/wp-content
यह प्रतिक्रियाओं में इस तरह के संकेतकों की भी खोज करता है:
wp-content
wp-includes
यदि WordPress की पहचान नहीं हो पाती, तो स्कैनर रिपोर्ट करता है:
[NOT WORDPRESS]
स्कैनर सामान्य पथों, साइटमैप स्थानों और लक्ष्य से खोजे गए आंतरिक लिंक से पेजों की एक सूची बनाता है।
जाँचे जाने वाले पथों के उदाहरणों में शामिल हैं:
/contact
/kontak
/hubungi-kami
/form
/forms
/formulir
/upload
/unggah
/submit
/kirim
/gallery
/kontribusi
/daftar
/pendaftaran
/registration
/register
/file-upload
/submit-document
/unggah-berkas
/upload-file
सामान्य साइटमैप स्थानों में शामिल हैं:
/sitemap.xml
/sitemap_index.xml
/wp-sitemap.xml
क्रॉलर CRAWL_DEPTH द्वारा सीमित है।
स्कैनर Forminator पहचानकर्ताओं की खोज करता है जैसे:
forminator-form-<ID>
पता लगाए गए फ़ॉर्मों के लिए, यह प्रासंगिक तत्वों की जाँच करता है जैसे:
type="file"
और:
<select>
यह निम्नलिखित प्राप्त करने का भी प्रयास करता है:
form_id
nonce
फ़ॉर्म HTML से।
स्कैनर लक्ष्य द्वारा उजागर की गई जानकारी से Forminator संस्करण निर्धारित करने का प्रयास करता है।
एक स्रोत इसके समान एक एसेट पथ है:
/wp-content/plugins/forminator/...
एक वर्ज़न पैरामीटर के साथ:
?ver=X.X.X
स्कैनर में एक फ़ॉलबैक भी है जो इन्हें खोजता है:
Stable tag:
HTML में या readme.txt में।
रिपोर्ट की गई पहचान विधि में शामिल हो सकते हैं:
html-source
या:
readme.txt
कॉन्फ़िगर की गई मूल्यांकन सीमा यह है:
1.56.1
पता लगाया गया संस्करण VULN_MAX के साथ तुलना किया जाता है।
संभावित मूल्यांकन स्थितियों में शामिल हैं:
VULNERABLE
PATCHED