Hash Length Extension Attack

Reading time: 3 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Summary of the attack

कल्पना कीजिए एक सर्वर जो कुछ डेटा को एक ज्ञात स्पष्ट पाठ डेटा में एक गुप्त को जोड़कर हस्ताक्षरित कर रहा है और फिर उस डेटा का हैश बना रहा है। यदि आप जानते हैं:

  • गुप्त की लंबाई (इसे एक दिए गए लंबाई रेंज से भी ब्रूटफोर्स किया जा सकता है)
  • स्पष्ट पाठ डेटा
  • एल्गोरिदम (और यह इस हमले के प्रति संवेदनशील है)
  • पैडिंग ज्ञात है
  • आमतौर पर एक डिफ़ॉल्ट का उपयोग किया जाता है, इसलिए यदि अन्य 3 आवश्यकताएँ पूरी होती हैं, तो यह भी है
  • पैडिंग गुप्त + डेटा की लंबाई के आधार पर भिन्न होती है, यही कारण है कि गुप्त की लंबाई की आवश्यकता है

तो, एक हमलावर के लिए डेटा जोड़ना और पिछले डेटा + जोड़ा गया डेटा के लिए एक वैध हस्ताक्षर उत्पन्न करना संभव है।

How?

बुनियादी रूप से संवेदनशील एल्गोरिदम पहले डेटा के एक ब्लॉक का हैश बनाकर हैश उत्पन्न करते हैं, और फिर, पिछले बनाए गए हैश (राज्य) से, वे अगले डेटा के ब्लॉक को जोड़ते हैं और इसका हैश बनाते हैं

फिर, कल्पना कीजिए कि गुप्त "secret" है और डेटा "data" है, "secretdata" का MD5 6036708eba0d11f6ef52ad44e8b74d5b है।
यदि एक हमलावर "append" स्ट्रिंग जोड़ना चाहता है, तो वह कर सकता है:

  • 64 "A"s का MD5 उत्पन्न करें
  • पहले से प्रारंभ किए गए हैश की स्थिति को 6036708eba0d11f6ef52ad44e8b74d5b में बदलें
  • "append" स्ट्रिंग जोड़ें
  • हैश को समाप्त करें और परिणामी हैश "secret" + "data" + "padding" + "append" के लिए एक वैध होगा

Tool

GitHub - iagox86/hash_extender

References

आप इस हमले को अच्छी तरह से समझा सकते हैं https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें