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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-59712_CVE-2025-59713 — Snipe-IT PoC exploit for CVE-2025-59712 and CVE-2025-59713 | Kitploit
उपकरण/GitHubGitHub/synacktiv/cve-2025-59712_cve-2025-59713
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubsynacktiv/cve-2025-59712_cve-2025-59713

CVE-2025-59712_CVE-2025-59713

Snipe-IT PoC exploit for CVE-2025-59712 and CVE-2025-59713

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
2310 महीने पहलेअभी तक समीक्षित नहीं

CVE-2025-59712 और CVE-2025-59713 के लिए PoC

यह PoC CVE-2025-59712 (User-Agent हैडर में XSS) और CVE-2025-59713 (असुरक्षित deserialization) का शोषण करने के लिए एक स्वचालित स्क्रिप्ट प्रदान करता है।

Context

ये दोनों कमज़ोरियाँ Synacktiv द्वारा Snipe-IT सॉफ़्टवेयर पर कमज़ोरी अनुसंधान के दौरान खोजी गई थीं। Snipe-IT Laravel पर आधारित एक ओपन-सोर्स संपत्ति प्रबंधन प्रणाली है, जिसे संगठनों को उनकी भौतिक और डिजिटल संपत्तियों को ट्रैक करने और प्रबंधित करने में मदद करने के लिए डिज़ाइन किया गया है।

इसका तकनीकी विवरण Synacktiv की वेबसाइट पर समर्पित सुरक्षा सलाह में पाया जा सकता है।

Modes

यह स्क्रिप्ट तीन उप-कमांड प्रदान करती है, जो शोषण मोड के अनुरूप हैं: xss, rce और fullchain।

XSS

यह उप-कमांड CVE-2025-59712 का शोषण करता है, जो कम-विशेषाधिकार वाले उपयोगकर्ता को /reports/activity रूट को कॉल करने पर प्रस्तुत HTML पृष्ठ में मनमाना JavaScript इंजेक्ट करने की अनुमति देता है। यह केवल किसी admin उपयोगकर्ता, या उस उपयोगकर्ता द्वारा किया जा सकता है जिसके पास रिपोर्ट देखने की स्पष्ट अनुमति हो। यह इंजेक्शन इसलिए संभव है क्योंकि जब उपयोगकर्ता अपनी प्रोफ़ाइल जानकारी अपडेट करता है तो User-Agent फ़ील्ड का उचित सैनिटाइज़ेशन नहीं होता।

ऐसा करने के लिए, यह पहले कम-विशेषाधिकार वाले उपयोगकर्ता के रूप में लॉग इन करेगा, और फिर --javascript फ़्लैग के माध्यम से दी गई फ़ाइल में परिभाषित JavaScript कोड इंजेक्ट करेगा।

root@kitploit:~
$ python3 exploit.py xss --help

 Usage: exploit.py xss [OPTIONS]

 Execute XSS attack only with custom JavaScript payload

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --url         -u       TEXT                    Target Snipe-IT URL [required]                                                                                                             │
│ *  --login       -l       TEXT                    Low-privileged username [required]                                                                                                         │
│ *  --password    -p       TEXT                    Low-privileged password [required]                                                                                                         │
│ *  --new-name    -n       TEXT                    New name for low-privileged user [required]                                                                                                │
│ *  --javascript  -js      TEXT                    Path to custom JavaScript file [required]                                                                                                  │
│    --proxy       -x       TEXT                    HTTP proxy (http://ip:port)                                                                                                                │
│    --verbose     -v       [quiet|normal|verbose]  Logging verbosity [default: normal]                                                                                                        │
│    --help                                         Show this message and exit.                                                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

[!IMPORTANT]
सुरक्षा अनुसंधान के दौरान, Snipe-IT के एक संस्करण पर परीक्षण किए गए थे जो डिफ़ॉल्ट रूप से उस User-Agent फ़ील्ड को प्रदर्शित करता था जिसमें दुर्भावनापूर्ण JavaScript इंजेक्ट की जाती है। कमिट 10e5d88 के बाद से, एक्शन लॉग तालिका प्रस्तुत करने पर User-Agent प्रॉपर्टी डिफ़ॉल्ट रूप से प्रदर्शित नहीं होती है। इसलिए, XSS ट्रिगर करने वाले admin को इस कमिट के बाद के Snipe-IT संस्करणों के लिए व्यू विकल्पों में User-Agent बॉक्स को चेक किया हुआ होना चाहिए।

RCE

यह उप-कमांड CVE-2025-59713 का शोषण करता है, जो admin या superadmin उपयोगकर्ता के क्रेडेंशियल ज्ञात होने पर रिमोट कोड निष्पादन की अनुमति देता है। ऐसा करने के लिए, निम्नलिखित चरण निष्पादित किए जाते हैं:

  1. Snipe-IT इंस्टेंस का बैकअप ट्रिगर किया जाता है।
  2. जनरेट किया गया बैकअप डाउनलोड किया जाता है, मेमोरी में संपादित किया जाता है और वापस Snipe-IT पर अपलोड किया जाता है। बैकअप के संपादन में db-dumps/mysql-snipeit.sql फ़ाइल में अतिरिक्त SQL स्टेटमेंट शामिल होते हैं, जो एक नया कस्टम फ़ील्ड बनाते हैं और अंतिम एक्शन लॉग को Laravel pop chain वाले JSON ऑब्जेक्ट के साथ संपादित करते हैं, जो पुनर्स्थापना पर निष्पादित होता है।

[!TIP] डिफ़ॉल्ट रूप से, Snipe-IT बैकअप में .env फ़ाइल शामिल करता है। यदि स्क्रिप्ट इसे पहचान लेती है, तो APP_KEY मान प्रदर्शित किया जाता है और .env फ़ाइल ./output निर्देशिका में सहेजी जाती है (उस फ़ाइल के लिए कस्टम स्थान --output-dir के साथ निर्दिष्ट किया जा सकता है)।

  1. संपादित बैकअप से पुनर्स्थापना ट्रिगर की जाती है, जो जोड़े गए SQL स्टेटमेंट को निष्पादित करेगी।

[!CAUTION] बैकअप को पुनर्स्थापित करने से इंस्टेंस से जुड़े सभी उपयोगकर्ता डिस्कनेक्ट हो जाते हैं।

  1. पुनर्स्थापना पूर्ण होने के बाद, /api/v1/reports/activity रूट को कॉल किया जाता है, जो deserialization को ट्रिगर करता है और Laravel pop chain को निष्पादित करता है।
root@kitploit:~
$ python3 exploit.py rce --help

 Usage: exploit.py rce [OPTIONS]

 Execute RCE attack only (requires existing admin account)

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --url         -u       TEXT                    Target Snipe-IT URL [required]                                                                                                             │
│ *  --admin-user  -au      TEXT                    Admin username [required]                                                                                                                  │
│ *  --admin-pass  -ap      TEXT                    Admin password [required]                                                                                                                  │
│    --output-dir  -od      PATH                    Output dir for .env file [default: /home/ninja/Téléchargements/snipe-it-advisory/exploit/output]                                           │
│    --shell-ip    -si      TEXT                    Reverse shell IP address                                                                                                                   │
│    --shell-port  -sp      INTEGER                 Reverse shell port                                                                                                                         │
│    --command     -c       TEXT                    Custom command (overrides reverse shell)                                                                                                   │
│    --proxy       -x       TEXT                    HTTP proxy (http://ip:port)                                                                                                                │
│    --verbose     -v       [quiet|normal|verbose]  Logging verbosity [default: normal]                                                                                                        │
│    --help                                         Show this message and exit.                                                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Fullchain

fullchain उप-कमांड का उद्देश्य XSS और RCE दोनों कमज़ोरियों को एक साथ जोड़ना है। यह एक ऐसे परिदृश्य से मेल खाता है जिसमें आपके पास केवल कम-विशेषाधिकार वाले उपयोगकर्ता की पहुँच होती है और आप रिमोट कोड निष्पादन प्राप्त करना चाहते हैं। यह तभी काम करेगा जब /reports/activity पृष्ठ पर जाने वाला उपयोगकर्ता admin या superadmin हो। वास्तव में, केवल इन्हीं भूमिकाओं के पास बैकअप बनाने और पुनर्स्थापित करने के अधिकार होते हैं, जो डेटाबेस को पॉइज़न करने और बाद में Laravel pop chain को ट्रिगर करने के लिए आवश्यक है।

ऐसा करने के लिए, स्क्रिप्ट निम्न कार्य करेगी:

  1. एक Lavaravel pop chain के साथ JavaScript टेम्पलेट को प्रारूपित करता है, जो डिफ़ॉल्ट रूप से एक bash रिवर्स शेल निष्पादित करेगा (आप इस विकल्प को RCE मोड की तरह ही --command फ़्लैग के साथ व्यक्तिगत रूप से बदल सकते हैं)।
  2. कम-विशेषाधिकार वाले उपयोगकर्ता के रूप में लॉग इन करें और पीड़ित के ब्राउज़र को दुर्भावनापूर्ण JavaScript टेम्पलेट का स्रोत लेने के लिए मजबूर करने हेतु User-Agent फ़ील्ड में एक <scr> टैग इंजेक्ट करें।
  3. उपरोक्त टेम्पलेट और उसकी निर्भरताओं को वितरित करने के लिए एक दुर्भावनापूर्ण HTTP सर्वर प्रारंभ करें।
  4. जब कोई admin या superadmin /reports/activity रूट पर जाता है, तो XSS ट्रिगर होता है और दुर्भावनापूर्ण JavaScript पीड़ित के ब्राउज़र द्वारा लोड और निष्पादित की जाती है। इसके बाद, RCE मॉड्यूल में निष्पादित किए गए समान चरण किए जाते हैं, लेकिन JavaScript में।
  5. जब बैकअप पुनर्स्थापित हो जाता है, तो पीड़ित का ब्राउज़र Python HTTP सर्वर को एक GET अनुरोध (callback) भेजता है ताकि यह सूचित किया जा सके कि बैकअप पुनर्स्थापित हो गया है, और RCE ट्रिगर करने के लिए API रूट को कॉल किया जा सकता है।

यह मोड कई अतिरिक्त JavaScript लाइब्रेरियों का उपयोग करता है, सभी क्रेडिट उनके संबंधित लेखकों को जाते हैं:

  • crypto-js.js: क्रिप्टोग्राफ़िक ऑपरेशन करने के लिए उपयोग किया जाता है, मूल कोड यहाँ पाया जा सकता है।
  • jszip.js और jszip-utils.js: ZIP फ़ाइलों का इन-मेमोरी संपादन करने के लिए उपयोग किया जाता है। आधिकारिक रिपॉज़िटरी क्रमशः यहाँ और यहाँ पाई जा सकती हैं।
root@kitploit:~
$ python3 exploit.py fullchain --help

 Usage: exploit.py fullchain [OPTIONS]

 Execute full attack chain: XSS -> Backup manipulation -> RCE

╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ *  --url         -u       TEXT                    Target Snipe-IT URL [required]                                                                                                             │
│ *  --login       -l       TEXT                    Low-privileged user's username [required]                                                                                                  │
│ *  --password    -p       TEXT                    Low-privileged user's password [required]                                                                                                  │
│ *  --new-name    -n       TEXT                    New name for low-privileged user [required]                                                                                                │
│    --ip          -i       TEXT                    HTTP server IP address (default: auto-detect)                                                                                              │
│ *  --port        -P       INTEGER                 HTTP server port [required]                                                                                                                │
│    --admin-user  -au      TEXT                    Admin username to create [default: admin_rce]                                                                                              │
│    --admin-pass  -ap      TEXT                    Admin password to create [default: password123]                                                                                            │
│    --shell-ip    -si      TEXT                    Reverse shell IP address                                                                                                                   │
│    --shell-port  -sp      INTEGER                 Reverse shell port                                                                                                                         │
│    --command     -c       TEXT                    Custom command (overrides reverse shell)                                                                                                   │
│    --proxy       -x       TEXT                    HTTP proxy (http://ip:port)                                                                                                                │
│    --verbose     -v       [quiet|normal|verbose]  Logging verbosity [default: normal]                                                                                                        │
│    --help                                         Show this message and exit.                                                                                                                │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Installation

इस स्क्रिप्ट को चलाने के लिए, निम्नलिखित कमांड चलाएँ:

root@kitploit:~
$ git clone https://github.com/synacktiv/CVE-2025-59712_CVE-2025-59713
$ cd CVE-2025-59712_CVE-2025-59713
$ python3 -m venv .venv && source .venv/bin/activate
$ python3 -m pip install -r requirements.txt

Dockerfile for testing environment

स्क्रिप्ट को आज़माने और कमज़ोरी के शोषण को पुनः प्रस्तुत करने के लिए एक Dockerfile भी प्रदान किया गया है। यह Snipe-IT का एक कमज़ोर संस्करण खींचता है, php artisan के साथ डेटाबेस कॉन्फ़िगर करता है, और दो उपयोगकर्ता सेट करता है:

  1. उपयोगकर्ता admin जिसका डिफ़ॉल्ट पासवर्ड AdminPassword123! है।
  2. उपयोगकर्ता lowpriv जिसका डिफ़ॉल्ट पासवर्ड LowPrivUser123! है।

कंटेनर चलाने से पहले, .env और snipe-it.conf फ़ाइलों को Snipe-IT इंस्टेंस के URL के साथ अपडेट करना आवश्यक है:

root@kitploit:~
$ sed -i 's|^APP_URL=.*|APP_URL=http://<IP>:<PORT>|' .env
$ sed -i 's|\(ServerName\s*\).*|\1http://<IP>:<PORT>|' snipe-it.conf

फिर कंटेनर को चलाया जा सकता है:

root@kitploit:~
$ docker build . -t "snipe-it-cve"
$ docker run -p 80:80 --name "snipe-it-debian" snipe-it-cve:latest
टूल डाउनलोड करें