Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 12385|Resposta: 0

[Comunicação] Tutorial de Vulnerabilidade de Segurança para Validação de Senha MSSQL 2011

[Copiar link]
Publicado em 26/11/2014 15:47:51 | | |
Como uma instrução padrão internacional para consulta de banco de dados, as instruções SQL têm sido amplamente usadas em diversos ambientes de programação. Como um sistema maduro e estável, a verificação de login e senha do usuário são essenciais. No meu trabalho diário de programação, percebi que muitos programadores usam instruções SQL para verificar senhas de usuário por meio de uma declaração como esta:
sql="Select * da tabela de usuário onde nome='"+nome+"' e senha='"+senha+"'"
O nome e a senha são os nomes de usuário e senhas inseridos pelo usuário, e as declarações acima são executadas para verificar se o usuário e a senha são legítimos e válidos. No entanto, por meio da análise, pode-se identificar que existem brechas fatais nas afirmações acima. Quando inserimos a seguinte string no nome de usuário: 111'or'1=1, e depois digitamos a senha casualmente, definimos para aaaa. Após a substituição da variável, a instrução SQL se torna a seguinte string:
sql="Select * da tabela de usuário onde nome='111'ou '1=1' e senha='aaaa'
Todos sabemos que, quando a instrução select julga as condições da consulta, ela ignora as seguintes e (e) operações ao encontrar ou (ou) operações, e o valor de 1=1 na instrução acima é sempre verdadeiro, o que significa que, independentemente do valor inserido na senha, ela pode passar na verificação de senha acima! A solução para esse problema é muito simples, e existem muitos métodos; o mais comumente usado é julgar a legitimidade do usuário e a senha inserida pelo usuário antes de realizar a verificação, e caracteres especiais como aspas simples e sinais iguais não são permitidos.
Os problemas acima, embora possam parecer simples, existem. Por exemplo, a versão inicial do famoso jogo online "Smiling Proud Jianghu" na Internet teve esse problema, e o autor também analisou cuidadosamente alguns dos programas que havia escrito antes após ler o relatório de vulnerabilidade sobre esse jogo, e havia muitas brechas desse tipo. Isso realmente deveria ser nossa atenção. Isso também expõe a falta de experiência em programação e conscientização sobre segurança dos jovens programadores, incluindo o autor. Ao mesmo tempo, também nos lembra que os programadores devem considerar plenamente a segurança do programa ao projetá-lo, e não devem ser descuidados, e uma omissão aparentemente pequena pode causar consequências sérias.




Anterior:Segurança de banco de dados SQL 2005 e integridade referencial
Próximo:Tutorial de Risco de Segurança de Senhas Fracas MSSQL SA 2011
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com