Skip to content

MASTG-TEST-0233: HTTP URLs Embutidas

Visão Geral

Um aplicativo Android pode ter URLs HTTP embutidas no binário do app, bibliotecas binárias ou outros recursos dentro do APK. Essas URLs podem indicar locais potenciais onde o app se comunica com servidores por meio de uma conexão não criptografada.

Aviso

A presença de URLs HTTP sozinhas não significa necessariamente que elas sejam usadas ativamente para comunicação. Seu uso pode depender de condições de runtime, como a forma como as URLs são invocadas e se o tráfego em texto claro é permitido na configuração do app. Por exemplo, requisições HTTP podem falhar se o tráfego em texto claro estiver desabilitado no AndroidManifest.xml ou restrito pela Network Security Configuration. Consulte Configurações de Aplicativo Android que Permitem Tráfego em Texto Não Criptografado (Cleartext Traffic).

Passos

  1. Realize a engenharia reversa do app ( Descompilação de Código Java).
  2. Execute uma ferramenta de análise estática ( Análise Estática no Android) e procure por quaisquer URLs http://.

Observação

O output contém uma lista de URLs e suas localizações dentro do app.

Avaliação

O caso de teste falha se qualquer URL HTTP for confirmada como sendo usada para comunicação.

A presença de URLs HTTP embutidas não significa inerentemente que elas sejam usadas; seu uso real deve ser validado por meio de inspeção cuidadosa e testes:

  • Engenharia Reversa: Inspecione os locais do código onde as URLs HTTP são referenciadas. Determine se elas são apenas armazenadas como constantes ou se são usadas ativamente para criar requisições HTTP por meio de APIs de rede como HttpURLConnection ou OkHttp.
  • Análise Estática: Analise a configuração do app para identificar se o tráfego em texto claro é permitido. Por exemplo, verifique o AndroidManifest.xml em busca de android:usesCleartextTraffic="true" ou inspecione o network_security_config. Consulte Configurações de Aplicativo Android que Permitem Tráfego em Texto Não Criptografado (Cleartext Traffic) para orientações detalhadas.

Além disso, complemente essa inspeção estática com métodos de teste dinâmico:

  • Análise Dinâmica: Use ferramentas como Frida para conectar-se a APIs de rede durante a execução. Isso pode revelar como e quando as URLs HTTP são usadas durante a execução. Veja Uso em Runtime de APIs de Rede Transmitindo Tráfego em Texto Claro para mais detalhes.

  • Interceptação de Tráfego de Rede: Capture e analise o tráfego de rede usando ferramentas como Burp Suite, mitmproxy ou Wireshark. Essa abordagem confirma se o app se conecta às URLs HTTP identificadas durante o uso real, mas depende da capacidade do testador de exercer a funcionalidade do app de forma abrangente. Consulte Tráfego em Texto Claro Observado na Rede.