
JWT एक्सप्लॉइट स्वचालित करें (CVE-2018-0114)
मैंने यह टूल सीखने के उद्देश्य से और jwt टोकन अपहरण को स्वचालित करने के लिए बनाया है, बिना burpsuite पर निर्भर हुए। कोड अच्छी तरह से प्रलेखित है और समझने में आसान है। (CVE-2018-0114) पर आधारित यह भेद्यता इसलिए होती है क्योंकि बैकएंड में सर्वर jwt हेडर के अंदर एम्बेडेड jwk ऑब्जेक्ट की जाँच करता है, इसमें n और e होते हैं जो सार्वजनिक कुंजी बनाने के लिए उपयोग होने वाले 2 पैरामीटर हैं।
1) एक हमलावर नई RSA कुंजी जोड़े उत्पन्न करता है,
2) n और e प्राप्त करें और उन्हें jwt हेडर में jwk ऑब्जेक्ट के अंदर इंजेक्ट करें
3) jwt बॉडी सेक्शन में कोई भी मान बदलें और फिर इसे अपनी निजी कुंजी से साइन करें
4) सर्वर हस्ताक्षर को सत्यापित करने के लिए हमलावर की सार्वजनिक कुंजी का उपयोग करता है।
5) मैंने यह सुनिश्चित करने के लिए एक सत्यापन फ़ंक्शन बनाया है कि jwt सफलतापूर्वक एक्सप्लॉइट हुआ है या नहीं, हमलावर की सार्वजनिक कुंजी (n और e) का उपयोग करके इसे डिकोड करने की कोशिश करके।
1) वेरिएबल "jwt_orginal at line 125" का मान नए भेद्य jwt से ओवरराइट करें
2) डिक्शनरी ऑब्जेक्ट "dict_values at line 126" के अंदर कोई भी विशेषताएँ जो आप बदलना चाहते हैं, जोड़ें
3) आनंद लें