Compartilhamento de tecnologia

Análise e pesquisa de prevenção sobre vulnerabilidades comuns da web

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

  • Prefácio:

Na era digital de hoje, as aplicações web desempenham um papel importante, fornecendo-nos vários serviços e funções online. No entanto, estas aplicações enfrentam frequentemente várias ameaças potenciais à segurança, que podem levar à fuga de informações sensíveis, paralisia do sistema e outras consequências adversas.

  • Vulnerabilidade de injeção SQL

O ataque de injeção de SQL (SQL Injection), conhecido como ataque de injeção ou injeção de SQL, é amplamente utilizado para obter ilegalmente o controle de um site. É uma vulnerabilidade de segurança que ocorre na camada de banco de dados de um aplicativo. Ao projetar o programa, a verificação das instruções SQL contidas na string de entrada é ignorada, e o banco de dados erroneamente a considera como uma instrução SQL normal e a executa, expondo assim o banco de dados a ataques, que podem levar ao roubo de dados, alteração , e excluído, causando ainda mais danos ao site. Perigos como a incorporação de código malicioso e a implantação de programas backdoor.

Normalmente, os locais para injeção de SQL incluem:

  1. O envio de formulário, principalmente solicitação POST, também inclui solicitação GET;
  2. Envio de parâmetros de URL, principalmente parâmetros de solicitação GET;
  3. Envio de parâmetros de cookie;
  4. Alguns valores modificáveis ​​no cabeçalho da solicitação HTTP, como Referer, User_Agent, etc.;
  5. Alguns pontos de entrada de borda, como algumas informações de arquivos .mp3, etc.

Métodos de prevenção comuns:

  • Todas as instruções de consulta usam a interface de consulta parametrizada fornecida pelo banco de dados. As instruções parametrizadas usam parâmetros em vez de incorporar variáveis ​​de entrada do usuário na instrução SQL. Quase todos os sistemas de banco de dados atuais fornecem interfaces de execução de instruções SQL parametrizadas. O uso dessa interface pode prevenir efetivamente ataques de injeção de SQL.
  • Escape ou codifique os caracteres especiais ('"<>&*;, etc.) que entram no banco de dados.
  • Confirme o tipo de cada dado. Por exemplo, os dados numéricos devem ser números e os campos de armazenamento no banco de dados devem corresponder aos tipos int.
  • O comprimento dos dados deve ser estritamente especificado, o que pode impedir que instruções de injeção SQL relativamente longas sejam executadas corretamente até certo ponto.
  • A codificação de cada camada de dados do site é unificada. Recomenda-se o uso da codificação UTF-8 para todos os dados. A codificação inconsistente das camadas superiores e inferiores pode fazer com que alguns modelos de filtragem sejam ignorados.
  • Limitar estritamente as permissões de operação do banco de dados dos usuários do site e fornecer a esse usuário permissões que sejam suficientes apenas para o seu trabalho, minimizando assim os danos de ataques de injeção ao banco de dados.
  • Evite que o site exiba mensagens de erro SQL, como erros de tipo, incompatibilidades de campos, etc., e evite que invasores usem essas mensagens de erro para fazer alguns julgamentos.
  • Antes do lançamento do site, é recomendável usar algumas ferramentas profissionais de detecção de injeção de SQL para detectar e reparar essas vulnerabilidades de injeção de SQL em tempo hábil.

  • Vulnerabilidade de script entre sites

O cross-site scripting (geralmente chamado de XSS) ocorre no lado do cliente e pode ser usado para roubar privacidade, phishing, roubar senhas, espalhar código malicioso e outros ataques.

As tecnologias utilizadas nos ataques XSS são principalmente HTML e Javascript, incluindo VBScript e ActionScript. Embora os ataques XSS não causem danos diretos ao servidor WEB, eles se espalham pelo site, fazendo com que os usuários do site sejam atacados, resultando no roubo de contas de usuários do site, causando sérios danos ao site.

Os tipos XSS incluem:

  • Entre sites não persistentes: A vulnerabilidade refletida de scripts entre sites é atualmente o tipo mais comum de entre sites. O código entre sites geralmente existe em links. Ao solicitar esse link, o código entre sites é refletido de volta pelo servidor. Esse tipo de código entre sites não é armazenado no servidor (como um banco de dados). Os exemplos dados nos capítulos acima são situações desse tipo.
  • Cross-site persistente: Este é o tipo mais direto de dano entre sites. O código entre sites é armazenado no servidor (como um banco de dados). Uma situação comum é que um usuário poste em um fórum. Se o fórum não filtrar os dados do código Javascript inseridos pelo usuário, os navegadores de outros usuários que navegam na postagem executarão o código Javascript incorporado pelo postador.
  • DOM entre sites (DOM XSS): É uma vulnerabilidade entre sites que ocorre no DOM do cliente (Document Object Model).

As técnicas de prevenção XSS comumente usadas incluem:

  1. Tal como acontece com as recomendações para proteção contra injeção de SQL, presume-se que todas as entradas são suspeitas e palavras como script, iframe, etc. em todas as entradas devem ser rigorosamente verificadas. A entrada aqui não é apenas a interface de entrada com a qual os usuários podem interagir diretamente, mas também inclui variáveis ​​em cookies em solicitações HTTP, variáveis ​​em cabeçalhos de solicitações HTTP, etc.
  2. Verifique não apenas o tipo de dados, mas também seu formato, comprimento, intervalo e conteúdo.
  3. Não execute apenas verificação e filtragem de dados no lado do cliente. As principais etapas de filtragem são executadas no lado do servidor.
  4. Os dados de saída também devem ser verificados. Os valores no banco de dados podem ser gerados em vários locais em um site grande. Mesmo que a entrada seja codificada e outras operações sejam executadas, as verificações de segurança devem ser realizadas nos pontos de saída em todos os lugares.
  5. Teste todas as ameaças conhecidas antes de lançar seu aplicativo.

  • Vulnerabilidade de senha fraca

Não existe uma definição estrita e precisa de senha fraca. Senhas que são facilmente adivinhadas por outras pessoas (que talvez o conheçam bem) ou quebradas por ferramentas de cracking são geralmente consideradas senhas fracas. A definição de senhas geralmente segue os seguintes princípios:

  1. Não use senhas vazias ou senhas padrão do sistema, que normalmente são senhas fracas.
  2. O comprimento da senha não deve ser inferior a 8 caracteres.
  3. A senha não deve ser uma sequência contínua de caracteres (por exemplo: AAAAAAAA) ou uma combinação de caracteres repetidos (por exemplo: tzf.tzf.).
  4. A senha deve ser uma combinação dos quatro tipos de caracteres a seguir: letras maiúsculas (AZ), letras minúsculas (az), números (0-9) e caracteres especiais. Contém pelo menos um caractere de cada tipo. Se um determinado tipo de caractere contiver apenas um, o caractere não deverá ser o primeiro nem o último caractere.
  5. A senha não deve incluir nome e data de nascimento, data de aniversário, nome de login, endereço de e-mail e outras informações relacionadas à pessoa, pais, filhos e cônjuge, bem como palavras do dicionário.
  6. As senhas não devem ser palavras com números ou símbolos substituindo certas letras.
  7. As senhas devem ser fáceis de lembrar e rápidas de inserir, para que outras pessoas não possam ver facilmente sua entrada atrás de você.
  8. Altere sua senha pelo menos uma vez a cada 90 dias para evitar que intrusos não detectados continuem a usá-la.

  • Vulnerabilidade de rastreamento de cabeçalho HTTP

A especificação HTTP/1.1 (RFC2616) define o método HTTP TRACE, que é usado principalmente pelos clientes para testar ou obter informações de diagnóstico enviando uma solicitação TRACE ao servidor Web. Quando o servidor web habilita o TRACE, o cabeçalho da solicitação enviada será retornado completamente no conteúdo (Body) da resposta do servidor, onde o cabeçalho HTTP provavelmente incluirá token de sessão, cookies ou outras informações de autenticação. Um invasor poderia explorar essa vulnerabilidade para enganar usuários legítimos e obter suas informações privadas. Essa vulnerabilidade é frequentemente combinada com outros métodos para realizar ataques eficazes. Como as solicitações HTTP TRACE podem ser iniciadas por meio de scripts do navegador do cliente (como XMLHttpRequest) e acessadas por meio da interface DOM, elas são facilmente exploradas pelos invasores. Os métodos de defesa contra vulnerabilidades de rastreamento de cabeçalho HTTP normalmente desabilitam o método HTTP TRACE.

  • Vulnerabilidade de execução remota de comando Struts2

Apache Struts é uma estrutura de código aberto para construção de aplicações web Java. Há um bug de filtragem de entrada no Apache Struts que pode ser explorado para injetar e executar código Java arbitrário se um erro de conversão for encontrado.

A maioria dos motivos pelos quais os sites apresentam vulnerabilidades de execução remota de código são porque o site usa Apache Struts Xwork como estrutura de aplicativo do site. Como este software possui vulnerabilidades de execução remota de código de alto risco, o site enfrenta riscos de segurança. O CNVD lidou com muitas dessas vulnerabilidades, tais como: uma vulnerabilidade de execução remota de comando (CNVD-2012-13934) no site "GPS Vehicle Satellite Positioning System"; uma vulnerabilidade de execução remota de código no livro de visitas do Aspcms (CNVD-2012-11590); , etc.

  • Vulnerabilidade de upload de arquivo

Vulnerabilidades de upload de arquivo geralmente são causadas por filtragem negligente de variáveis ​​de caminho de upload de arquivo no código da página da web. Se o código de implementação da função de upload de arquivo não limitar estritamente o sufixo e o tipo de arquivo carregado pelos usuários, um invasor poderá fazer upload de qualquer arquivo por meio de um diretório acessível. através da Web, incluindo arquivo backdoor do site (webshell), controlando assim remotamente o servidor do site.

Portanto, durante o desenvolvimento de sites e aplicativos, os arquivos enviados precisam ser estritamente restringidos e verificados, e os arquivos que contêm código malicioso devem ser carregados. Ao mesmo tempo, as permissões de execução de diretórios relacionados são restritas para evitar ataques de webshell.

  • Vulnerabilidade de vazamento de endereço IP privado

O endereço IP é um indicador importante de um usuário de rede e é o que os invasores precisam saber antes de lançar um ataque. Há muitas maneiras de obtê-lo, e os invasores também adotarão métodos diferentes dependendo das diferentes condições da rede, como: usar o comando Ping na LAN para executar ping no nome da outra parte na rede para obter o IP usando a versão IP do; QQ para exibi-lo diretamente na Internet. A maneira mais eficaz é interceptar e analisar os pacotes de dados da rede da outra parte. O invasor pode encontrar e analisar diretamente as informações do cabeçalho IP do pacote de dados interceptado por meio de software e, em seguida, aprender o IP específico com base nessas informações.

Para obter o "método de análise de pacotes" mais eficaz, você pode instalar algum software que pode remover automaticamente as informações de IP no cabeçalho dos pacotes de dados enviados. No entanto, existem algumas desvantagens na utilização deste software, tais como: consome muito recursos e reduz o desempenho do computador; será afetado ao acessar alguns fóruns ou sites; não é adequado para usuários de cibercafés, etc. O método mais popular para usuários individuais ocultarem seu IP hoje em dia é usar um proxy. Após usar um servidor proxy, o “serviço de encaminhamento” modificará os pacotes de dados enviados, tornando o método de “análise de pacotes” ineficaz. Alguns softwares de rede que vazam facilmente os IPs dos usuários (QQ, MSN, IE, etc.) suportam o uso de métodos de proxy para se conectar à Internet. Especialmente depois que o QQ usa software de proxy como "ezProxy" para se conectar, a versão IP do QQ não consegue. exibir o endereço IP. Embora um proxy possa ocultar efetivamente o IP de um usuário, um invasor também pode ignorar o proxy e encontrar o endereço IP real da outra parte. O método usado pelo usuário para ocultar o IP, sob as quais as circunstâncias também dependem da situação.

  • Solicitação de login não criptografada

Como a configuração da web é insegura e as solicitações de login transmitem campos confidenciais, como nomes de usuário e senhas, não criptografados, os invasores podem espionar a rede para roubar essas informações confidenciais. Recomenda-se criptografar, como SSH, antes de transmitir.

  • Vulnerabilidade de vazamento de informações confidenciais

Injeção de SQL, XSS, passagem de diretório, senhas fracas, etc. podem causar vazamento de informações confidenciais e os invasores podem obter informações confidenciais por meio de vulnerabilidades.Diferentes métodos de defesa são usados ​​para diferentes causas.

  • FCRCS

Aplicativos da Web referem-se ao termo geral para usar a arquitetura B/S e fornecer serviços por meio de protocolos HTTP/HTTPS. Com o uso generalizado da Internet, as aplicações Web foram integradas em todos os aspectos da vida diária: compras on-line, aplicações bancárias on-line, transações de valores mobiliários e ações, aprovações administrativas governamentais e assim por diante. Nessas visitas à Web, a maioria dos aplicativos não realiza navegação estática na Web, mas envolve processamento dinâmico no lado do servidor. Neste momento, se os programadores de Java, PHP, ASP e outras linguagens de programação tiverem consciência de segurança insuficiente e não verificarem rigorosamente a entrada de parâmetros do programa, etc., problemas de segurança de aplicativos da Web surgirão um após o outro.

Então, como as vulnerabilidades acima podem ser descobertas a tempo?

Tenho que mencionarServiço de verificação de vulnerabilidades VSS!!

O que é um serviço de verificação de vulnerabilidades?

Desde o surgimento da Internet, os incidentes de segurança de rede que utilizam ataques de vulnerabilidade continuaram e estão se tornando cada vez mais graves. As perdas económicas causadas pelas vulnerabilidades em todo o mundo são enormes todos os anos e aumentam ano após ano. As vulnerabilidades tornaram-se um dos principais culpados que prejudicam a Internet e também se tornaram o foco da atenção do público.

"Vulnerability Scan Service (VSS) é um serviço de detecção de segurança para verificação de vulnerabilidades de sites. Atualmente, ele fornece vários serviços, como detecção geral de vulnerabilidades, gerenciamento do ciclo de vida de vulnerabilidades e verificação personalizada. Depois que os usuários criam uma nova tarefa, eles podem acionar manualmente a verificação tarefas para detectar vulnerabilidades de sites e fornecer sugestões de reparo de vulnerabilidades.

A segurança do sistema de rede depende do elo mais fraco do sistema de rede. A segurança do sistema de rede é um processo dinâmico. A maneira mais eficaz é realizar análises e verificações de segurança regulares do sistema de rede, descobrir e encontrar vulnerabilidades em um sistema. oportunamente e modificá-los.

    • Cenários de aplicativos de serviço de verificação de vulnerabilidades:
      1. Site/sistema de aplicação on-line

Quando um novo sistema de site/aplicativo fica online, é necessário primeiro realizar uma avaliação de segurança do site/sistema de aplicativo para avaliar se o site/sistema de aplicativo online tem vulnerabilidades e riscos, para garantir a segurança do site/sistema de aplicativo após ele fica online e para reduzir o risco de ser hackeado ou hackeado e garantir a operação segura do sistema do site/aplicativo depois de ficar online.

      1. Ameaças e ataques ao sistema de sites/aplicativos

À medida que novas ameaças e ataques continuam a crescer, a segurança das aplicações web afeta diretamente a sustentabilidade do desenvolvimento empresarial. Sites/sistemas de aplicativos estão frequentemente sujeitos a ataques e ameaças à segurança da rede, resultando em espionagem, retransmissão, adulteração e ataques de negação de serviço de informações da rede, bem como negação de comportamento de rede, falsificação, acesso não autorizado, transmissão de vírus e outros problemas . A inspeção de segurança é uma inspeção abrangente do sistema do site/aplicativo, e são fornecidas sugestões de reparo profissionais para evitar que o site seja usado por hackers e afete a segurança do site.

      1. Monitoramento em tempo real do sistema de site/aplicativo

O governo, a educação, as finanças e outras unidades precisam monitorar o site em tempo real. Se a vulnerabilidade não for reparada a tempo, afetará seriamente a imagem do governo, da educação e de outras unidades e causará enormes prejuízos à empresa. É necessário monitoramento e gerenciamento em tempo real da segurança do sistema de sites/aplicativos. A detecção de segurança exibe intuitivamente os resultados do monitoramento, alerta assim que riscos são descobertos e identifica rapidamente anomalias em páginas da web e notifica alertas para evitar que vulnerabilidades sejam exploradas e afetem a segurança do sistema.

      1. Sistemas de sites/aplicativos e outros requisitos de conformidade

A proteção do nível de segurança da informação é um sistema básico para a segurança da informação no meu país, exigindo que os operadores de rede cumpram os requisitos do sistema de proteção do nível de segurança da rede. A garantia Classe A exige que os operadores de sistemas de sites/aplicativos realizem avaliações de segurança pelo menos duas vezes por ano para garantir a conformidade da garantia Classe A. Os testes de segurança ajudam os usuários que precisam desse seguro a realizar avaliações de segurança e atender aos requisitos de conformidade desse seguro!

    • O que geralmente inclui um serviço de verificação de vulnerabilidades?
      1. Verificação de vulnerabilidades na Web

As lacunas e fraquezas do site podem ser facilmente exploradas por hackers para causar ataques, trazer efeitos adversos e causar perdas econômicas.

Verificação geral de vulnerabilidadesA rica biblioteca de regras de vulnerabilidade pode realizar varreduras de vulnerabilidades abrangentes e aprofundadas para vários tipos de sites e fornecer relatórios de varredura profissionais e abrangentes.

Procure as vulnerabilidades mais urgentesPara as vulnerabilidades CVE mais urgentes, os especialistas em segurança analisam as vulnerabilidades imediatamente, atualizam as regras e fornecem a verificação de vulnerabilidades CVE mais rápida e profissional.

      1. Verificação de senha fraca

Ativos como hosts ou middleware geralmente usam senhas para login remoto, e os invasores costumam usar tecnologia de varredura para detectar seus nomes de usuário e senhas fracas.

Várias cenas disponíveisConexão abrangente de sistema operacional, cobrindo 90% do middleware, suportando detecção de senha fraca para serviços Web padrão, sistemas operacionais, bancos de dados, etc.

Rica biblioteca de senhas fracasBiblioteca rica de correspondência de senhas fracas, simula hackers para detectar senhas fracas em vários cenários e oferece suporte a dicionários personalizados para detecção de senhas.

      1. Varredura de middleware

O middleware pode ajudar os usuários a desenvolver e integrar softwares aplicativos complexos de maneira flexível e eficiente. Depois que as vulnerabilidades forem descobertas e exploradas pelos hackers, isso afetará a segurança das camadas superiores e inferiores.

Cenários de digitalização ricosOferece suporte à verificação de vulnerabilidade de versão e conformidade de configuração de contêineres da Web convencionais, estruturas de desenvolvimento de front-end e pilhas de tecnologia de microsserviços de back-end.

Vários métodos de digitalização opcionaisEle suporta a identificação do middleware e sua versão no servidor por meio de vários métodos, como pacotes padrão ou instalação personalizada, e descobre de forma abrangente os riscos de vulnerabilidade no servidor.

      1. Teste de conformidade de conteúdo

Quando um site apresenta discurso não conforme, isso causará múltiplos prejuízos à marca e à economia da empresa.

Identificação precisaAtualize de forma síncrona os dados de amostra dos atuais pontos críticos políticos e eventos de opinião pública e localize com precisão vários conteúdos pornográficos, relacionados à violência, ao terrorismo, à política e outros conteúdos sensíveis.

Inteligente e eficienteConduza análises semânticas contextuais em conteúdo de texto e imagem e identifique de forma inteligente variantes complexas de texto.

  • Resumir:

Uma vez que as vulnerabilidades sejam exploradas por criminosos, as empresas sofrerão enormes perdas. Se você puder descobrir proativamente os riscos do site e tomar medidas corretivas em tempo hábil, poderá reduzir riscos e perdas. Portanto, a verificação de vulnerabilidades, como medida preventiva proativa, desempenha um papel importante na prevenção eficaz de ataques de hackers e na eliminação de problemas pela raiz.

Os serviços de verificação de vulnerabilidades podem resolver efetivamente os desafios enfrentados pelo gerenciamento de segurança de sites e também atender melhor à eficiência e precisão exigidas no trabalho de inspeção de segurança, de modo a melhorar o nível de gerenciamento de segurança de sites e aplicativos.