Ir para o conteúdo

Mais Um Método Contra Sql Injection Asp


Criado por Patrique, Out 10 2010 03:04

Não há respostas para este tópico
  • Por favor, faça o login para responder

#1 Patrique

Patrique
  • Patrique
  • Colaborador
  • 13 Revisões

Revisou 10 outubro 2010 - 03:04

Primeiro criaremos um arquivo chamado sqlinjection.asp esse arquivo terá o seguinte código

<%
function sqlInjection()

   'Palavras que serão barradas caso encontradas nos request
   palavrasDoMal = array("insert", "drop", " or ", "update", "cast")

   ' Verificando o que é passado pelo request.queryString
   for each item in request.QueryString
      for j = lbound(palavrasDoMal) to ubound(palavrasDoMal)
         if instr(lcase(Request.QueryString(item)), lcase(palavrasDoMal(j))) > 0 then
            response.Redirect("erro.asp?d=injectionQueryString")
         end if
      next
   next

   'Verificando o que é enviado por request.form
   for each item in request.form
      for j = lbound(palavrasDoMal) to ubound(palavrasDoMal)
         if instr(lcase(Request.form(item)), lcase(palavrasDoMal(j))) > 0 then
            response.Redirect("erro.asp?d=injectionForm")
         end if
      next
   next

   'Verifica o que está sendo passado via cookies
   for each item in request.Cookies
      for j = lbound(palavrasDoMal) to ubound(palavrasDoMal)
         if instr(lcase(Request.Cookies(item)), lcase(palavrasDoMal(j))) > 0 then
            response.Redirect("erro.asp?d=injectionCookies")
         end if
      next
   next

end function

'Aqui chamamos a função
sqlInjection()
%>

Esse arquivo deve ser inserido no topo de todas as páginas que você quiser verificar, por exemplo, na página login.asp

<!--#include file="sqlinjection.asp"-->
<%
' Resto do código
%>

Dessa forma é verificada todas as possibilidades de injection na sua aplicação, ou qq outra aplicação que precise validar palavras, já usei em um forum onde não eram permitidas palavras de baixo calão, é necessário somente incluir no array palavrasDoMal o que você quiser validar.




1 usuário(s) está(ão) lendo este código

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)