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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/spring-io/cve-2022-22976-bcrypt-skips-salt
पासवर्ड क्रैकिंगएन्क्रिप्शन/डिक्रिप्शन उपकरणभेद्यता विश्लेषणप्रमाणीकरणगलत कॉन्फ़िगरेशनडेटाबेस सुरक्षा
GitHubspring-io/cve-2022-22976-bcrypt-skips-salt

cve-2022-22976-bcrypt-skips-salt

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

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

सभी देखें →

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

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

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

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

BCrypt हैश जाँच

CVE-2022-xxxx के शमन चरणों में सहायता के लिए, आप इस टूल का उपयोग अपने डेटाबेस में उन हैशों की जाँच करने के लिए कर सकते हैं जिन्हें अद्यतन करने की आवश्यकता है।

एक बार जब आप एप्लिकेशन को अपने डेटाबेस के साथ एकीकृत कर लेते हैं, तो टूल दो चरणों में काम करता है।

इसे प्रदर्शित करने के लिए एक इन-मेमोरी नमूना एप्लिकेशन का उपयोग किया जाता है। उस नमूना एप्लिकेशन पर, आप check चरण इस प्रकार चला सकते हैं:

root@kitploit:~
./mvnw spring-boot:run@check

यह नमूना डेटाबेस में किसी भी BCrypt हैश की जाँच करेगा जिन्हें अद्यतन करने की आवश्यकता है।

फिर, आप update चरण इस प्रकार चला सकते हैं:

root@kitploit:~
./mvnw spring-boot:run@update

यह नमूना डेटाबेस में पाए गए किसी भी संवेदनशील हैश को अद्यतन करने का प्रयास करेगा।

नमूना एप्लिकेशन प्रत्येक पासवर्ड हैश की जाँच और अद्यतन करने के लिए प्रदान की गई VulnerabilityCheck क्लास का उपयोग करता है।

अपने डेटाबेस के लिए कॉन्फ़िगर करना

चेतावनी: इन चरणों को तभी आगे बढ़ाएं जब आपने अपने एप्लिकेशन को 31 से कम राउंड्स संख्या का उपयोग करने के लिए अद्यतन कर लिया हो। OWASP वर्तमान में 10 का मान अनुशंसित करता है, हालाँकि कुछ उच्च-क्षमता वाले सिस्टम पर 16 तक के मान उपयोग किए जाते हैं।

टूल परीक्षण उद्देश्यों के लिए एक इन-मेमोरी नमूने के साथ आता है। आपको इसे अपनी खुद की क्लासों से बदलना होगा जो आपके डेटा के साथ एकीकृत होती हैं।

ऐसा करने के लिए, पहले इस रिपॉजिटरी को क्लोन करें।

फिर, sample पैकेज में कोड को उस कोड से बदलें जो आपके एप्लिकेशन में पासवर्ड डेटा तक पहुँच सकता है। आप मौजूदा पासवर्डों की जाँच करने के लिए कोड लिखना चाह सकते हैं कि वे संवेदनशील हैं या नहीं। आप किसी भी प्रभावित हैश को अद्यतन करने के लिए कोड लिखना चाहेंगे। दोनों ही मामलों में, आप किसी दिए गए हैश की जाँच और अद्यतन करने के लिए VulnerabilityCheck का उपयोग कर सकते हैं।

टिप: उपरोक्त कोड लिखते समय, ध्यान रखें कि आपको कितने पासवर्ड अद्यतन करने हैं। यह ध्यान रखना न भूलें कि डेटाबेस कनेक्शन विफल हो सकता है, कंप्यूटर क्रैश हो सकते हैं, मेमोरी समाप्त हो सकती है, इत्यादि। उदाहरण के लिए, एक साथ लाखों रिकॉर्ड को मेमोरी में लाना उचित नहीं है।

पासवर्ड हैशों को अद्यतन करने के बाद, अब आप नवीनतम Spring Security में अद्यतन कर सकते हैं। यदि आप Spring Security की पासवर्ड अद्यतन सुविधा का उपयोग कर रहे हैं, तो जब उपयोगकर्ता लॉग इन करते हैं, तो उनका पासवर्ड स्वचालित रूप से आपके नवीनतम कॉन्फ़िगर किए गए राउंड्स मान पर पुनः हैश हो जाएगा।

अक्सर पूछे जाने वाले प्रश्न

Q: मुझे कैसे पता चलेगा कि मेरे हैश संवेदनशील हैं?

A: वे संवेदनशील हैं यदि उन्हें Spring Security की BCrypt क्लास के साथ वर्क फैक्टर 31 का उपयोग करके हैश किया गया था। आप अपने सिस्टम में Spring Security द्वारा प्रबंधित पासवर्ड हैशों की जाँच करके इसकी पुष्टि कर सकते हैं। यदि वे '{bcrypt}$2a$31', '{bcrypt}$2b$31', '{bcrypt}$2y$31', '{bcrypt}$2$31', '$2a$31', '$2b$31', '$2y$31', या '$2$31' से शुरू होते हैं, तो वह पासवर्ड संवेदनशील है और उसे अद्यतन करने की आवश्यकता है।

Q: मुझे अपने एप्लिकेशन को कैसे बदलना चाहिए?

A: OWASP BCrypt के लिए 10 के वर्क फैक्टर की अनुशंसा करता है। कुछ उच्च-क्षमता वाले सिस्टम 16 तक का मान उपयोग करेंगे। हर सिस्टम अलग है और BCrypt को समय के साथ आवश्यकतानुसार वर्क फैक्टर बढ़ाने में सक्षम होने के लिए डिज़ाइन किया गया है।

Q: मुझे अपने एप्लिकेशन में कहाँ बदलाव करना चाहिए?

A: आप संभवतः एक BCryptPasswordEncoder इस प्रकार बनाकर वर्क फैक्टर सेट कर रहे हैं:

root@kitploit:~
new BCryptPasswordEncoder(31)

यह एक बीन परिभाषा में इस प्रकार दिख सकता है:

root@kitploit:~
@Bean
public PasswordEncoder passwordEncoder() {
    return new BCryptPasswordEncoder(31);
}

आप उस स्ट्रिंग को खोजकर उसे अद्यतन कर सकते हैं। ध्यान दें कि वर्क फैक्टर आपके एप्लिकेशन में किसी बाहरी प्रॉपर्टी द्वारा नियंत्रित हो सकता है, जिसका अर्थ है कि आप इसे अपनी बाहरी कॉन्फ़िगरेशन में बदलना चाहेंगे।

Q: मैंने अभी-अभी Spring Security को अद्यतन किया है और अब कुछ या सभी लॉगिन और उपयोगकर्ता पंजीकरण हैंग हो रहे हैं। क्या हुआ?

A: Spring Security 5.5.7+, 5.6.4+, 5.7.0+ के अनुसार, 31 के वर्क फैक्टर का संकेत देने वाले पासवर्ड हैश -- उदाहरण के लिए, '{bcrypt}$2a$31', '{bcrypt}$2b$31', '{bcrypt}$2y$31', '{bcrypt}$2$31', '$2a$31', '$2b$31', '$2y$31', या '$2$31' से शुरू होने वाले -- प्रत्येक हैश गणना को पूरा करने में 2-3 दिन लेंगे। इसे कम करने के लिए, आपको Spring Security को कम राउंड्स संख्या का उपयोग करने के लिए बदलना होगा। फिर, संवेदनशील पासवर्ड हैशों को अद्यतन करने के लिए इस टूल का उपयोग करें।

Q: मैंने सभी तीन अनुशंसित चरण पूरे कर लिए हैं (BCryptPasswordEncoder कॉन्फ़िगरेशन बदलना, पासवर्ड हैश अद्यतन करना, और Spring Security को अद्यतन करना)। संशोधित पासवर्ड हैश मेरे नवीनतम कॉन्फ़िगर किए गए वर्क फैक्टर में अद्यतन नहीं हो रहे हैं। मुझे क्या करना चाहिए?

सुनिश्चित करें कि आपके पास UserDetailsPasswordService प्रकार की एक बीन प्रकाशित है। यह बीन वह है जिसका उपयोग पासवर्डों को नए BCrypt लॉग राउंड्स में अद्यतन करने के लिए किया जाता है।

Q: Spring Security इस टूल की आवश्यकता के बिना अपग्रेड के समय संवेदनशील पासवर्डों को आसानी से अद्यतन क्यों नहीं कर सकता?

पहला, क्योंकि नवीनतम Spring Security के साथ, 31 के वर्क फैक्टर वाले पासवर्ड हैश सही ढंग से गणना किए जाते हैं और इस प्रकार प्रत्येक को पूरा करने में 2-3 दिन लगते हैं। यह मान लेना अव्यावहारिक अपेक्षा है कि यह एप्लिकेशनों के लिए वहन करने योग्य लागत है।

दूसरा, Spring Security केवल वर्क फैक्टर बढ़ाने का समर्थन करता है (मान लीजिए 10 से 12 तक), घटाने का नहीं (मान लीजिए 31 से 10 तक)।

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