[Visão geral das vulnerabilidades comuns em testes de penetração e métodos de reparo]

1. Visão geral e métodos de reparo de vulnerabilidades comuns em testes de penetração

Nível de risco baixo risco – alto risco Vazamento de informações confidenciais Descrição Devido à negligência do pessoal de operação e manutenção do site, os arquivos que armazenam informações confidenciais são vazados ou informações confidenciais são vazadas devido a viagens de negócios do site (endereço de segundo plano, arquivos de configuração, arquivos de backup de banco de dados, site arquivos de backup, phpinfo, svn/github, vazamento de informações do usuário) Riscos de vazamento de informações confidenciais 1. O invasor pode baixar diretamente as informações relevantes do usuário, incluindo o caminho absoluto do site, o nome de login do usuário, senha, nome real, Número de identificação, número de telefone, endereço de e-mail, número QQ, etc. 2. O invasor constrói um endereço de URL especial, aciona o aplicativo WEB do sistema para relatar um erro e obtém informações confidenciais do site no conteúdo ecoado. 3. O invasor usa as informações confidenciais vazadas para obter o caminho da WEB do servidor do site e fornecer ajuda para novos ataques. Método de reparo de vazamento de informações confidenciais 1. Retorno estatístico de informações de erro do site e processamento difuso. 2. Criptografe os arquivos que armazenam informações confidenciais e armazene-os adequadamente para evitar o vazamento de informações confidenciais.

2. Injeção de SQL

Vulnerabilidade de injeção de SQL de alto risco em nível de risco Descrição O motivo da vulnerabilidade de injeção de SQL é que o programa aplicativo do site não verificou a validade dos dados enviados pelo usuário ao servidor quando foi gravado, ou seja, não executou especial eficaz filtragem de caracteres, resultando em um risco de segurança para o servidor do site da Web. Isso é SQL Injection, ou seja, vulnerabilidade de injeção SQL Risco de vulnerabilidade de injeção SQL 1. Dados confidenciais são roubados. 2. Os principais dados de negócios foram adulterados. 3. A página da web foi adulterada. 4. O banco de dados existe e o servidor é atacado para se tornar um host fantoche, resultando na invasão da rede local (intranet). Classificação de injeção SQL Tipo de envio: 1. GET 2. POST 3. Cabeçalho HTTP 4. COOKIE Duas categorias: 1. Injeção de erro (união) 2. Injeção cega (1. Injeção cega baseada em booleano 2. Injeção baseada em erro 3 .Delay -baseada em injeção) Ferramenta de injeção SQL 1.SQLMAP 2.Pangolin 3.Safe3WVS versão de digitalização corporativa 4.Ferramenta de injeção Super SQL 5ª Edição) "SQL Injection: "SQL Injection and Defense 2nd Edition" SQLMAP Injection Artifact: "SQLMAP From Beginner to Master " Método de reparo de vulnerabilidade de injeção SQL 1. Filtrar rigorosamente os dados inseridos pelo usuário no código da página da web. (camada de código) 2. Implantar firewall de aplicativo da Web. (camada de dispositivo) 3. Monitorar operações de banco de dados. (camada de banco de dados) A melhor maneira para reparar a camada de código: PDO pré-compilação Outros métodos de defesa: filtragem regular (a sintaxe regular é a mesma)

3. Script XSS entre sites

Nível de risco Descrição do script entre sites XSS de alto risco A vulnerabilidade do script entre sites XSS é causada pelo fato de que o programa aplicativo do site não verificou a validade dos dados enviados pelo usuário ao servidor quando foram gravados, ou seja, ele não executou a filtragem de caracteres especiais eficaz, resultando na existência do servidor do site. Risco de segurança, isso é script XSS entre sites Risco de vulnerabilidade de ataque de script entre sites XSS 1. Phishing, roubo de administrador ou conta de usuário e informações privadas 2. Sequestro de sessões de usuários legítimos, uso da identidade do administrador para realizar operações maliciosas, adulteração do conteúdo da página 3. Cavalo suspenso de página da Web, disseminação de worms de script entre sites, etc. 4. Controle da máquina da vítima para atacar outros sistemas "Ataque de script entre sites XSS análise e defesa" Ferramenta de detecção de script entre sites XSS XSSer Método de reparo de script entre sites XSS 1. Caracteres especiais do filtro frontal e traseiro 2. Escape de codificação (codificação html, codificação url, codificação hexadecimal, codificação JavaScript) 3. Limite estritamente o formato de valores de entrada de parâmetro de URL e não pode conter caracteres especiais desnecessários (%0d, %0a, %0D, %0A, etc.)

4. Solicitação forjada do cliente CSRF

Nível de risco risco médio CSRF Falsificação de solicitação entre sites Descrição Falsificação de solicitação entre sites, ou seja, CSRF, os invasores forjam solicitações de usuários confiáveis ​​para atingir o objetivo de aumentar, produzir e adulterar o conteúdo do site. Riscos de falsificação de solicitação cross-site CSRF 1. Os invasores fingem ser usuários/administradores, forjam solicitações e executam operações ilegais, como adulteração, transferência de dinheiro, alteração de senhas e envio de e-mails. O método de reparo da falsificação de solicitação cross-site CSRF 1. Filtre a entrada do usuário e não permita a publicação de links contendo URLs de operação no site. 2. Melhore o design da API no site, use códigos de verificação para operações importantes, as solicitações GET devem apenas navegar sem alterar os recursos do servidor 3. Para sites da Web, alterne os métodos de autorização convencionais (como cookie ou autorização HTTP) para autorização instantânea Método (fornecer um campo oculto em cada formulário) 4. Aguarde o site antes de navegar em outros sites ou limpe o COOKIE do navegador após o término da sessão do navegador 5. Defina a chave TOKEN gerada aleatoriamente para cada solicitação do usuário no lado do servidor , e o período de validade One-shot (camada de código)

5. Solicitação de servidor falsificado SSRF

Nível de risco Risco médio SSRF falsificação Solicitação de servidor Descrição SSRF (Server-Side Request Forgery: Server-Side Request Forgery) é uma brecha de segurança criada por um invasor para formar uma solicitação iniciada pelo servidor. Normalmente, os ataques SSRF visam sistemas internos que são inacessíveis a partir da rede externa. (Por ser iniciado pelo servidor, ele pode solicitar o sistema interno conectado a ele e isolado da rede externa) O motivo do SSRF é principalmente porque o servidor fornece a função de obter dados de outros aplicativos do servidor e não há Filtro e limitar o endereço de destino. Por exemplo, obtenha o conteúdo de texto da página da Web do endereço URL especificado, carregue a imagem no endereço especificado, baixe-o e assim por diante. Riscos de solicitação de servidor falsificado SSRF 1. Você pode executar varredura de porta na rede externa, na intranet onde o servidor está localizado e localmente para obter as informações de banner de alguns serviços. 2. Aplicativos de ataque em execução na rede interna ou localmente (como estouro) 3. Intranet Web O aplicativo realiza a identificação da impressão digital, que é realizada acessando o arquivo padrão. 4. Atacando aplicativos da Web nas redes internas e externas, principalmente usando parâmetros Get para realizar ataques (como exploração de vulnerabilidade Struts2, injeção SQL, etc.) 5. Usando o protocolo de arquivo para ler arquivos SSRF serviços forjados End request repair method 1. Prohibit jumping 2. É mais fácil filtrar as informações retornadas e verificar a resposta do servidor remoto à solicitação. Se o aplicativo da web for obter um determinado tipo de arquivo. Em seguida, verifique se as informações retornadas atendem aos padrões antes de exibir os resultados retornados ao usuário. 3. Desative protocolos desnecessários e permita apenas solicitações http e https. Ele pode evitar problemas causados ​​por file://, gopher://, ftp://, etc. 4. Defina a lista de permissões de URL ou limite o IP da intranet (use gethostbyname() para determinar se é um IP da intranet) 5. Limite as solicitações A porta é comumente usada para http, como 80, 443, 8080, 8090 6. Unifique as informações de erro para evitar que os usuários julguem o status da porta do servidor remoto com base nas informações de erro. Links de referência relacionados https://xz.aliyun.com/t/2115 https://www.cnblogs.com/20175211lyz/p/11408583.html

6. Introdução à estrutura da entidade externa XXE

Nível de risco alto risco Descrição da vulnerabilidade XXE O nome completo da vulnerabilidade XXE é XML External Entity Injection, ou seja, vulnerabilidade de injeção de entidade externa XML. A vulnerabilidade XXE ocorre quando o programa aplicativo analisa a entrada XML e o carregamento de entidades externas não é proibido, resultando no carregamento de arquivos externos maliciosos, resultando em leitura de arquivos, execução de comandos, varredura de portas de intranet, sites de intranet ×××, inicialização de dos ××× e outros perigos. O ponto onde a vulnerabilidade xxe é acionada geralmente é o local onde o arquivo xml pode ser carregado, e o arquivo xml carregado não é filtrado, resultando no upload de arquivos xml maliciosos. Vulnerabilidade XXE A vulnerabilidade XXE destina-se principalmente a entidades externas referenciadas por serviços web e não filtra caracteres sensíveis para entidades externas, o que pode causar execução de comandos, travessia de diretórios, etc. Método de reparo de vulnerabilidade XXE 1. Use o método recomendado no idioma para desativar entidades externas 2. Filtragem manual de lista negra (não recomendado)

7. Vulnerabilidade de upload de arquivo

Nível de risco Descrição da vulnerabilidade de upload de arquivo de alto risco Há uma vulnerabilidade arbitrária de upload de arquivo no site da Web. A função de upload de arquivo não tem restrições de formato e é fácil para hackers fazer upload de arquivos de script maliciosos. Dano da vulnerabilidade de upload de arquivo 1. Os invasores podem fazer upload de arquivos de script maliciosos por meio dessa vulnerabilidade, causando ameaças de segurança à operação normal do servidor, etc. 2. Os invasores podem fazer upload de Webshell executável (php, jsp, asp, aspx e outros tipos de script Cavalos de Tróia) ), obtenha e carregue html, gif e configuração por salto de diretório para substituir os arquivos originais do sistema, de modo a atingir o objetivo de obter permissões do sistema. Método de reparo da vulnerabilidade de upload de arquivo 1. Verifique e verifique rigorosamente o formato do arquivo carregado para evitar que arquivos de script maliciosos sejam carregados 2. Defina restrições de permissão para proibir a permissão de execução do diretório de upload 3. Limite estritamente os tipos de arquivo que podem ser carregados 4 Limite estritamente os caminhos de arquivo que podem ser carregados 5. Verificação da lista de permissões do lado do servidor da extensão do arquivo 6. Verificação do lado do servidor do conteúdo do arquivo 7. Renomeação do arquivo de upload 8. Ocultar o caminho do arquivo de upload

8. Vulnerabilidade de senha fraca

Nível de risco Alto risco Vulnerabilidade de senha fraca Descrição A senha fraca (senha fraca) não tem uma definição estrita e precisa. Geralmente, considera-se que senhas fáceis de serem adivinhadas por outras pessoas (eles podem conhecê-lo bem) ou quebradas por ferramentas de cracking são senhas fracas . Existem senhas fracas para administradores de segundo plano, senhas fracas para usuários, senhas fracas para sistemas host (linux, win), senhas fracas para roteadores, senhas fracas para switches e assim por diante. Riscos de senha fraca 1. Os invasores podem usar senhas fracas com permissões relevantes para executar operações relacionadas. Por exemplo, senhas fracas em segundo plano podem excluir arbitrariamente artigos, adicionar artigos etc., causando efeitos negativos. 2. O invasor pode usar a senha fraca para obter permissões relevantes, como permissões de servidor, e fazer com que a LAN (intranet) seja invadida. Método de reparo de senha fraca 1. Aumente a força da senha 2. Criptografe o processo de transmissão 3. Altere as senhas regularmente

9. Brechas na lógica de negócios

Nível de risco Baixo risco – descrição de brechas de lógica de negócios de alto risco Vulnerabilidades causadas por problemas de lógica de negócios geralmente não são causadas por erros de design do programador.As vulnerabilidades são prejudiciais e são usadas por algumas partes de lã. (Vulnerabilidades de negócios) Lacunas lógicas são a lógica humana por trás do código e as pessoas estão mais propensas a cometer erros.É uma deficiência que ocorre com a lógica do pensamento humano depois que o programa é escrito. Vulnerabilidades como injeção de sql e xss podem ser evitadas por meio de frameworks de segurança, etc. Esse tipo de tráfego de ataque é ilegal e danifica o programa original, que pode ser detectado pelo firewall. Brechas lógicas são destruídas por meio de métodos legais e razoáveis, como senha a recuperação devido ao design insuficiente do programa causará muitos problemas, e a maneira de quebrar não é adicionar conteúdo quebrado ao programa, mas explorar as deficiências inerentes. Isso não afeta a operação do programa e é executado logicamente sem problemas. Esse tipo de vulnerabilidade não pode ser bloqueado por métodos ou equipamentos de proteção geral, porque todo tráfego é legal. Também não há padrão de proteção. Danos causados ​​por brechas na lógica de negócios 1. Sequestro de sessão, compra de 0 yuan, visualização não autorizada de informações do pedido, visualização não autorizada de informações do usuário, redefinição arbitrária de senha... lógica de acordo com a situação real

10. Vulnerabilidades de Execução de Código

Vulnerabilidade de execução de código de alto risco em nível de risco Descrição Vulnerabilidade de execução remota de código, o usuário envia o comando de execução pelo navegador, porque o servidor não filtra a função de execução, o programa do lado do servidor executa um código construído com códigos maliciosos. Dano da vulnerabilidade de execução de código 1. Execute código malicioso, escreva WEBSHELL no site, você pode controlar o site e até mesmo controlar todo o servidor Método de reparo de vulnerabilidade de execução de código 1. Filtre rigorosamente os parâmetros de entrada do usuário (filtragem regular) 2. Tente evitar usando funções de execução de código

11. Vulnerabilidade de execução de comandos

Vulnerabilidade de execução de comando de alto risco em nível de risco Descrição A vulnerabilidade de execução de comando refere-se ao fato de que o código não filtra os parâmetros controláveis ​​pelo usuário, o que leva a ser trazido diretamente para o código que executa o comando. comandos. Riscos de vulnerabilidades de execução de comandos 1. Os hackers podem executar comandos arbitrários no servidor e escrever backdoors, invadindo o servidor e obtendo privilégios de administrador do servidor, causando grandes danos. Método de reparo da vulnerabilidade de execução de comando 1. Filtre rigorosamente os dados inseridos pelo usuário e proíba a execução de comandos do sistema 2. Substitua a função de execução de comando por uma função alternativa

12. Vulnerabilidade de redirecionamento de URL

Nível de risco Risco médio-alto Vulnerabilidade de redirecionamento de URL Descrição A vulnerabilidade de redirecionamento de URL, modificando o URL para um site malicioso especificado, os invasores podem lançar golpes de phishing com êxito e roubar credenciais do usuário. A vulnerabilidade de redirecionamento de URL põe em risco aplicativos da WEB para realizar o redirecionamento para sites externos. Os invasores podem usar servidores da WEB para atacar outros sites, o que aumentará o anonimato. O método de reparo da vulnerabilidade de redirecionamento de URL requer filtragem rigorosa dos dados de entrada do usuário no código da página da Web. . Implantar firewall de aplicativo WEB.

13. O arquivo contém

Nível de risco Arquivos de alto risco contêm vulnerabilidades A maioria dos casos de vulnerabilidades de contenção de arquivos aparece em PHP e, claro, JSP também existe.A inclusão de arquivos é dividida em inclusão local e inclusão remota. O arquivo contém vulnerabilidades e perigos 1. Ignorando o WAF e carregando o arquivo do cavalo de Tróia 2. Carregando conteúdo remoto prejudicial, afetando a operação do programa. O arquivo contém o método de reparo de vulnerabilidade 1. Feche allow_url_fopen 2. Evite usar parâmetros de inclusão 3. Use a Web para detectar o conteúdo do arquivo

14. Passagem de diretório

Nível de risco Risco médio Vulnerabilidade de passagem de diretório Descrição Por meio dessa vulnerabilidade, arquivos de sistema e arquivos de configuração de servidor podem ser obtidos. Use a API do servidor, arquivo de permissões padrão para atacar. A vulnerabilidade de travessia de diretório coloca em risco os hackers que podem obter a estrutura do diretório de arquivos no servidor e baixar arquivos confidenciais. Método de reparo de vulnerabilidade de travessia de diretório 1. Modificando o arquivo de configuração, remova a função de indexação de diretório de arquivo do middleware (IIS, APACHE, TOMCAT). 2. Defina as permissões do diretório 3. Crie um index.html em cada diretório

15. Azul Eterno (ms17_010)

O nível de risco é alto Descrição da vulnerabilidade EternalBlue A vulnerabilidade EternalBlue é uma vulnerabilidade que ataca o serviço SMB (porta número 445). Os invasores usam essa vulnerabilidade para transbordar e executar código arbitrário no sistema de destino. SMB (nome completo é Server Message Block) é um nome de protocolo, que pode ser usado para conexão com a Web, comunicação de informações entre cliente e servidor. Os hackers do Eternal Blue Vulnerability Hazard continuarão a fornecer e executar a ferramenta de exploração Eternal Blue na máquina depois de usar o Eternal Blue para atacar uma máquina, para que a máquina comprometida continue a verificar outras máquinas com a porta aberta 445 e entregá-la e executá-la ao mesmo tempo, o vírus ransomware criptografa arquivos no sistema do usuário e se espalha como um worm, o que tem um enorme impacto em centenas de países ao redor do mundo. Método de reparo de vulnerabilidade EternalBlue 1. Alguns sistemas operacionais que perderam o suporte de segurança, como os sistemas operacionais Windows XP e Windows Vista, são muito vulneráveis ​​a essa vulnerabilidade e os usuários são aconselhados a atualizar o sistema operacional o mais rápido possível. 2. Aplique o patch MS17-010 ao sistema ou use a função "reparo do sistema" do 360 Security Guard para aplicar o patch ao usuário. 3. Use a "Ferramenta de Imunização de Arma da NSA" fornecida pelo 360 para obter imunidade. 4. Recomenda-se fechar as portas 445, 135, 137, 138, 139, etc. 5. Faça backup no tempo e certifique-se de fazer backup de arquivos importantes offline. 6. Ligue o firewall.

16. Vulnerabilidade de acesso não autorizado Redis

Nível de risco Alto risco Descrição da vulnerabilidade de acesso não autorizado do Redis Por padrão, o Redis será vinculado a 0.0.0.0:6379. Se nenhuma política relevante for adotada, como adicionar regras de firewall para evitar outro acesso de IP de origem não confiável etc. service é exposto à rede pública. Se nenhuma autenticação de senha (geralmente vazia) for definida, qualquer usuário não terá autorização para acessar o Redis e ler os dados do Redis se puder acessar o servidor de destino. No caso de acesso não autorizado ao Redis, o invasor pode usar o comando config fornecido pelo Redis para gravar arquivos. O invasor pode gravar com êxito sua chave pública ssh nas chaves_autorizadas da pasta /root/.ssh do arquivo do servidor de destino e então você pode usar a chave privada correspondente para efetuar login diretamente no servidor de destino usando o serviço ssh. Simplificando, há duas condições para a ocorrência da vulnerabilidade: (1) o Redis está vinculado a 0.0.0.0:6379 e nenhuma regra de firewall foi adicionada para evitar outro acesso IP de origem não confiável e outras políticas de segurança relacionadas, que são exposto diretamente à rede pública; (2) Se nenhuma autenticação de senha for definida (geralmente vazia), você pode fazer login no serviço redis remotamente sem senha. Riscos de vulnerabilidade de acesso não autorizado Redis (1) Os invasores podem acessar dados internos sem autenticação, o que pode levar ao vazamento de informações confidenciais. Os hackers também podem executar flushall de forma maliciosa para limpar todos os dados; (2) Os invasores podem executar código lua por meio de EVAL ou passar dados pelo a função de backup grava o arquivo backdoor no disco; (3) No pior caso, se o Redis for executado como root, o hacker pode gravar o arquivo de chave pública SSH na conta root e fazer login diretamente no servidor vítima por meio do SSH. Redis Método de reparo de vulnerabilidade de acesso não autorizado

  1. Modifique o arquivo de configuração redis redis.conf, encontre o valor requirepass no código do arquivo, o padrão é uma senha vazia, adicione uma senha a ela e escreva uma combinação de letras, números e letras maiúsculas e minúsculas, para que o redis exija verificação de senha ao conectar o acesso remoto.
  2. As restrições de segurança de porta são executadas na porta padrão 6379, e as conexões remotas de IP são restritas e somente as conexões de intranet são permitidas.

17.shiro-02

Sugestão de reparo: atualize a versão do Shiro para 1.2.5 e superior; ou adicione o gerenciador do RememberMeManager no arquivo de configuração do Shiro para codificar a chave de criptografia especificada.

18. Divulgação de nome de arquivo curto

Perigo de vulnerabilidade: há um problema de vazamento de nome de arquivo/pasta curto no processamento de tils no Microsoft IIS. Os invasores podem usar essa vulnerabilidade para enumerar arquivos no diretório da Web para obter informações confidenciais ou ataques de negação de serviço no .Net Framework. Sugestão de reparo: Upgrade .NET Framework: Se o ambiente web não requer suporte a asp.net, você pode entrar no Internet Information Services (IIS) Manager - Web Service Extensions - ASP.NET e optar por desabilitar esta função. Não use "~" ou sua codificação Unicode na url. Ou modifique o registro: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] "NtfsDisable8dot3NameCreation"=dword:1

Acho que você gosta

Origin blog.csdn.net/weixin_46356409/article/details/127498924
Recomendado
Clasificación