
EagleEyes Lite एंड्रॉइड एप्लिकेशन में संवेदनशील जानकारी का क्लियरटेक्स्ट प्रसारण
EagleEyes Lite (संस्करण 2.0.0) में, GetHttpsResponse() विधि खाता आईडी, पासवर्ड, डिवाइस टोकन और आंतरिक सर्वर URL जैसी संवेदनशील जानकारी को सीधे HTTPS अनुरोध की क्वेरी स्ट्रिंग में प्रसारित करती है।
चूँकि ये क्रेडेंशियल और टोकन अनुरोध बॉडी में सुरक्षित रूप से रखने के बजाय URL में एम्बेड किए जाते हैं, इसलिए MITM हमला करने वाला कोई भी प्रतिद्वंद्वी इन्हें आसानी से निकाल सकता है।
भले ही कनेक्शन नाममात्र रूप से HTTPS का उपयोग करता है, URL के भीतर प्लेनटेक्स्ट में ऐसे संवेदनशील पैरामीटरों का प्रदर्शन क्रेडेंशियल रिसाव और AVTECH CCTV सिस्टम तक अनधिकृत पहुँच के जोखिम को काफी बढ़ा देता है।
यह कमजोरी उपयोगकर्ता डेटा की गोपनीयता को कमजोर करती है और अविश्वसनीय नेटवर्क पर काम करते समय एप्लिकेशन को विशेष रूप से असुरक्षित बनाती है।
जब डिवाइस Android 8.0 से नीचे के संस्करणों पर चलता है, अर्थात SDK_API_26 को false पर सेट किया गया है, तो विधि GetHttpsUrlResponse() को वापस नहीं करती है।
इसके बजाय, यह try ब्लॉक के अंदर कमजोर लॉजिक निष्पादित करती है।
public static String GetHttpsResponse(String str) {
if (SDK_API_26) {
return GetHttpsUrlResponse(str);
}
try {
...
HttpResponse execute = new DefaultHttpClient(
new SingleClientConnManager(defaultHttpClient.getParams(), schemeRegistry),
defaultHttpClient.getParams()
).execute(new HttpPost(str));
...
}
...
}
यहाँ, पैरामीटर str में पूरा अनुरोध URL होता है, जो account_id और password जैसी संवेदनशील जानकारी को सीधे क्वेरी स्ट्रिंग में एम्बेड करता है।
परिणामस्वरूप, उपयोगकर्ता क्रेडेंशियल URL के भीतर प्लेनटेक्स्ट में उजागर हो जाते हैं, जिससे MITM हमले के माध्यम से अवरोधन या मध्यवर्ती सिस्टम द्वारा लॉग किए जाने पर रिसाव की आशंका बनी रहती है।
Frida हुकिंग स्क्रिप्ट hook.js चलाकर, हमने पुष्टि की कि GetHttpsResponse() विधि को कॉल किया गया था, और उत्पन्न अनुरोध URL में संवेदनशील जानकारी (जैसे account_id और password) प्लेनटेक्स्ट में शामिल थी।
कमजोर GetHttpsResponse() कार्यान्वयन के विस्तृत विश्लेषण के लिए, कृपया CVE-2025-46408 देखें।
एप्लिकेशन को URL क्वेरी पैरामीटर में खाता आईडी, पासवर्ड या प्रमाणीकरण टोकन जैसी संवेदनशील जानकारी कभी शामिल नहीं करनी चाहिए।
इसके बजाय, क्रेडेंशियल को POST पैरामीटर का उपयोग करके HTTPS अनुरोध बॉडी के भीतर सुरक्षित रूप से प्रसारित किया जाना चाहिए। यह संवेदनशील मानों को URL, लॉग या मध्यवर्ती सिस्टम में उजागर होने से रोकता है।