michelepiovani Postado Maio 30, 2003 Denunciar Share Postado Maio 30, 2003 Alguém sabe o que é, como usam e como prevenir o SQL Injection contra arquivos ASP com banco de dados Access ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cwbs Postado Maio 30, 2003 Denunciar Share Postado Maio 30, 2003 Colega,Perdoe minha ignorância, mas o que é "SQL Injection"?Por dedução, posso concluir que seria uma "injeção" de dados em um banco de dados através de uma instrução SQL?Se for isso, teoricamente só seria possível se alguém não autorizado se conectasse à sua base de dados Access, através de um script "secreto" no servidor, ou seja, um script que você não saiba que está lá. Se esse "alguém" conhecer a estrutura de seu banco de dados, pior ainda, o acesso será total.Eu mesmo uso scripts assim em algumas empresas onde já desenvolvi páginas, para eu poder manipular a base de dados em caso de algum problema (posso fazer tudo através de SQL, incluir, alterar, deletar, criar e alterar tabelas, etc...)Ainda, existe a possibilidade de algum aplicativo remoto acessar sua base. Se forem dados muito importantes, descarte o Access e passe para algo menos suscetível 'a invasões, como SQL Server ou mesmo MySQL, apesar deste funcionar melhor com Linux do que com Windows.Para o Access, o ideal seria que você colocasse uma senha no arquivo MDB, só que se for Access97 pode esquecer, eu mesmo já desenvolvi um revelador de senhas para Access97, e estou quase terminando um para Access2000. Aliás na Internet tá cheio de códigos que revelam senhas de bancos de dados Access, sem falar nos programas já prontos.Se não for isso, poste msg novamente, ok?Boa sorte,cwbs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 michelepiovani Postado Maio 30, 2003 Autor Denunciar Share Postado Maio 30, 2003 Esclarecendo sua dúvida, "SQL Injection" é uma técnica de invasão onde o HACKER coloca um comando no login da sua página e consegue acessar seu banco todo, inclusive apagar dados...Por exemplo, se um engraçadinho coloca '"; drop table xxxxx;" no lugar da senha, ele derruba minha tabela... e para ele descobrir minha tabela, basta ele colocar uma ' (aspa simples) no campo usuário que o sistema retorna um erro e informa todas as informações que o HACKER precisa... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 michelepiovani Postado Maio 30, 2003 Autor Denunciar Share Postado Maio 30, 2003 Dá uma olhada nesse PDF, foi o que me mandaram por e-mail pra tentar ajudar a solucionar o problema...Estou trabalhando em cima disso...http://www.nextgenss.com/papers/advanced_s...l_injection.pdf Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cwbs Postado Maio 30, 2003 Denunciar Share Postado Maio 30, 2003 Colega,Li o documento até a página 8 e fiquei aterrorizado! Já imaginava que isso era possível, mas não acreditava que o SQL Server poderia ter um "rombo" tão grande como esse.Minha sorte é que, prevendo algo deste tipo, implementei uma série de dispositivos para validar todas as entradas de usuários, inclusive removendo palavras e símbolos reservadas do SQL, ASP, HTML, etc... antes de submeter os formulários. Achei que palavras do tipo "select", "insert", "drop", "<html>", etc. poderiam ocasionar algum tipo de erro, mas não imaginava que alguém poderia invadir um banco de dados assim (vivendo e aprendendo...). Esse documento que você indicou foi muito valioso. Acompanhando este raciocínio, dá pra ver que é perfeitamente possível essas coisas acontecerem.Obrigado!cwbs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 michelepiovani Postado Junho 2, 2003 Autor Denunciar Share Postado Junho 2, 2003 Consegui resolver o problema validando todas as entradas... Agradeço a todos que tentaram me ajudar de alguma forma...BjinsMi Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Salgado Postado Junho 3, 2003 Denunciar Share Postado Junho 3, 2003 Cara li e fiquei estarrecido, caso seja possível você pode enviar suas validações, pois elas serão bem úteis à toda comunidade. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 michelepiovani Postado Junho 4, 2003 Autor Denunciar Share Postado Junho 4, 2003 Essa é o script que usei !Caso haja algum caractere diferente, ele retorna false !Obrigada a todos q me ajudaram ...BjinsFunção:function validasenha(valor) boa_senha_carac = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" validasenha = true for i = 1 to len(valor) c = mid(valor, i, 1) if (InStr(boa_senha_carac, c ) = 0 ) then validasenha = false exit function end if next end function Pra verificar, faça assim: valida = validasenha(Request.Form("teste")) If valida = false Then Response.Write "ERRO" Response.End() End If Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hicarocastro Postado Agosto 3, 2008 Denunciar Share Postado Agosto 3, 2008 Ai pessoal, estou trabalhando no desenvolvimento de um código de bloqueio, da uma olhada: http://scriptbrasil.com.br/forum/index.php?showtopic=122247O problema não está apenas nos formulários, a invasão poderá ocorrer via querystring, em rotinas diversas de seu site, rotinas como pesquisas, etc etc etcAjudem a fazer este código, teste, dê sugestões e critique please!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
michelepiovani
Alguém sabe o que é, como usam e como prevenir o SQL Injection contra arquivos ASP com banco de dados Access ??
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.