
JWT Key Confusion PoC (CVE-2015-9235) Hack the Box चैलेंज के लिए लिखा गया - निर्माणाधीन
हैक द बॉक्स चुनौतियों के लिए लिखा गया - Under Construction और Secret
दोनों शामिल स्क्रिप्ट एक Java Web Token Key Confusion Attack (CVE-2015-9235) करती हैं।
हमले को करने के लिए यह आवश्यक है कि हमलावर को उस सार्वजनिक कुंजी का पता हो जिसका उपयोग सर्वर हस्ताक्षर को सत्यापित करने के लिए करेगा, साथ ही सर्वर HS256 एल्गोरिथम का उपयोग करने के लिए कॉन्फ़िगर किया गया हो। क्योंकि HS256 एक सममित-कुंजी एल्गोरिथम है (संदेश को हस्ताक्षरित और सत्यापित करने के लिए एक ही कुंजी का उपयोग किया जाता है), हम अपने छेड़छाड़ किए गए टोकन पर हस्ताक्षर करने के लिए सार्वजनिक कुंजी का उपयोग कर सकते हैं। चूंकि वेब सर्वर सार्वजनिक कुंजी जानता है, जब इसे छेड़छाड़ किया गया टोकन प्राप्त होता है तो यह इसे सत्यापित करने में सक्षम होगा।

python3 jwt-9235.py [-h] [token_location] [claim_key] [claim_value]
positional arguments:
token_location location of JWT token (must include 'pk' payload)
claim_key payload claim to target
claim_value new claim value
optional arguments:
-h, --help show this help message and exit
यदि कोई तर्क प्रदान नहीं किया जाता है, तो एप्लिकेशन एक टोकन फ़ाइल ./token की खोज करेगा, username दावे को लक्षित करेगा, और दावे के मान को ‘ or 1=1;– से बदल देगा।
pip install hashlib hmac base64 json argparse colorama