Pergunta

Assistindo ENTÃO venha on-line tem sido uma escola para mim.Eu gostaria de fazer uma lista de vários vunerabilities e exploits usados contra sites da web, e o que técnicas de programação pode ser usado para defender contra eles.

  • Quais são as categorias de vunerabilities?
  • Que tipo de técnicas de programação defensiva?
  • etc...
Foi útil?

Solução

Do Open Web Application Security Project:

  1. O OWASP Top Ten vulnerabilidades (pdf)
  2. Para mais dolorosamente lista completa: Categoria:Vulnerabilidade

Os dez primeiros são:

  1. Cross-site scripting (XSS)
  2. Injeção de falhas (SQL injection, injeção de script)
  3. Arquivo malicioso execução
  4. Insecure direct object reference
  5. Cross-site request forgery (XSRF)
  6. O vazamento de informações e inadequado de tratamento de erro
  7. Quebrado de autenticação e gerenciamento de sessão
  8. Armazenamento criptográfico inseguro
  9. Inseguro de comunicações
  10. Falha ao restringir o acesso de URL

Outras dicas

Obviamente, teste de todos os campos de vulnerabilidades:

  • SQL - escape de cadeias de caracteres (por exemplo, mysql_real_escape_string)
  • XSS
  • HTML que está sendo impresso a partir de campos de entrada (um bom sinal de XSS normalmente)
  • Outra coisa thatis não com o propósito específico de que o campo foi criado para

Procurar loops infinitos (a indireta coisa (se um monte de gente encontrou acidentalmente) que poderia matar um servidor realmente).

Algumas técnicas de prevenção:

XSS

  • Se estiver a tomar quaisquer parâmetros de entrada do usuário e já planeja a saída dele, se em um log ou uma página da web, higienizar-lo (faixa/a escapar qualquer coisa parecida com o HTML, cotações, javascript...) Se você imprimir o atual URI de uma página dentro de si próprio, higienizar!Até mesmo a impressão de PHP_SELF, por exemplo, não é seguro.Desinfetar!XSS reflexivo vem principalmente a partir unsanitized página de parâmetros.

  • Se você tomar qualquer entrada do usuário e salvá-lo ou imprimi-lo, avisá-los se nada perigoso/inválido é detectado e tê-los a re-entrada.um IDS é bom para a detecção (como o PHPIDS.) Em seguida, limpe antes do armazenamento e impressão.Em seguida, quando você imprimir algo de armazenamento, banco de dados, higienizar novamente!Entrada -> IDS/limpe -> armazenamento -> limpe -> saída

  • usar um scanner de código durante o desenvolvimento para ajudar a identificar potencialmente vulneráveis código.

XSRF

  • Nunca use solicitação GET para destrutivo funcionalidade, i.é.apagar um post.Em vez disso, apenas aceitar solicitações POST.OBTER torna mais fácil para hackery.
  • Verificar o de referência para se certificar de que o pedido de veio do seu site não trabalho.Não é difícil falsificar o de referência.
  • O uso aleatório de hash como um sinal de que deve estar presente e válido em cada pedido, e que irá expirar depois de um tempo.Imprimir o token em um campo de formulário oculto e verificar-a no lado do servidor quando o formulário é publicado.Bandidos teriam que fornecer o token correto, para forjar um pedido, e se eles conseguiram obter o real token, ele precisa ser antes de expirar.

Injeção de SQL

  • seu ORM ou banco de dados de abstração classe deve ter desinfecção de métodos de usá - los, sempre.Se você não estiver usando um ORM ou banco de dados abstração de classe...você deve ser.

Injeção de SQL

XSS (Cross Site Scripting) Ataques

Fácil de supervisionar e de fácil correcção:a desinfecção de dados recebidos do lado do cliente.Verificação de coisas tais como ';' pode ajudar na prevenção de código malicioso injetado em seu aplicativo.

G'day,

Uma boa ferramenta de análise estática de segurança é FlawFinder escrito por David Wheeler.Ele faz um bom trabalho à procura de várias falhas de segurança,

No entanto, ele não substitui a ter um estudioso alguém ler o seu código.Como Davi diz em sua página da web, "Um tolo com uma ferramenta ainda é um tolo!"

HTH.

felicidades, Rob

Você pode obter bons firefox addons para testar várias falhas e vulnerabilidades, como xss e sql injeções de Segurança Bússola.Pena que não funciona no firefox 3.0.Eu espero que esses serão atualizados em breve.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top