
Передача конфиденциальной информации в открытом виде в Android-приложении EagleEyes Lite
В приложении EagleEyes Lite (версия 2.0.0) метод GetHttpsResponse() передает конфиденциальную информацию, такую как идентификаторы учетных записей, пароли, токены устройств и внутренние URL-адреса серверов, непосредственно в строке запроса HTTPS.
Поскольку эти учетные данные и токены встроены в URL, а не безопасно размещены в теле запроса, любой злоумышленник, выполняющий MITM-атаку, может легко их извлечь.
Даже несмотря на то, что соединение номинально использует HTTPS, раскрытие таких конфиденциальных параметров в открытом виде в URL значительно повышает риск утечки учетных данных и несанкционированного доступа к системам видеонаблюдения AVTECH.
Эта уязвимость подрывает конфиденциальность пользовательских данных и делает приложение особенно уязвимым при работе в ненадежных сетях.
Когда устройство работает на версиях 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.
Вместо этого учетные данные должны передаваться безопасно в теле HTTPS-запроса с использованием параметров POST. Это предотвращает раскрытие конфиденциальных значений в URL, журналах или промежуточных системах.