Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Patrique

Mais um método contra SQL Injection ASP

Recommended Posts

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

 

Autor: Leo Lima

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe uma função parecida, para substituir bad words, também

legal boa função

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.