Me han vuelto a atacar, la verdad es que ya estoy resignado a tener que estar atento a que me ataquen de vuelta he intentado todo lo que estaba a mi alcance, y no logro dar con la solucion me siguen bombeando inyecciones sql,.
Esta vez se me metieron con el siguiente direccion:
http:// www. adwsupp. com/b . js
Este es el codigo de las funciones que estoy usando para filtrar cualquier tipo de ataque mediante sql injection, pero parece ser que no funciona.
Código PHP:
Function SqlFiltro(s)
If ((Not IsNull(s)) And (s <> "")) Then
tmp = Replace(Trim(s), "'", "''")
tmp = Replace(tmp, """", """)
SqlFiltro = CompararEntrada(tmp)
End If
End Function
function CompararEntrada(str)
dim tmp
tmp = str
tmp = FiltroEntrada(tmp, "/script")
tmp = FiltroEntrada(tmp, "insert into")
tmp = FiltroEntrada(tmp, "delete from")
tmp = FiltroEntrada(tmp, "drop table")
tmp = FiltroEntrada(tmp, "exec(")
tmp = FiltroEntrada(tmp, "declare")
tmp = FiltroEntrada(tmp, "cast(")
tmp = FiltroEntrada(tmp, "varchar")
tmp = FiltroEntrada(tmp, "sp_")
tmp = FiltroEntrada(tmp, "xp_")
tmp = FiltroEntrada(tmp, "@@")
tmp = FiltroEntrada(tmp, "onmouseover")
tmp = FiltroEntrada(tmp, "--")
tmp = FiltroEntrada(tmp, "flyzhu.9966.org")
tmp = FiltroEntrada(tmp, "9966.org")
tmp = FiltroEntrada(tmp, "<script")
tmp = FiltroEntrada(tmp, "<script src=http://flyzhu.9966.org/us/Help.asp></script>")
tmp = FiltroEntrada(tmp, "www.tag58.com")
tmp = FiltroEntrada(tmp, "tag58.com")
tmp = FiltroEntrada(tmp, "<script src=http://www.tag58.com/b.js></script>")
tmp = FiltroEntrada(tmp, "update <tablas que uno tenga>")
tmp = FiltroEntrada(tmp, "b.js")
CompararEntrada = tmp
end function
function FiltroEntrada(str, filterStr)
if instr(lcase(str), filterStr) <> 0 then
logHakeo(str)
Response.Redirect("http://www.sitio.com/CodigoMalicioso.asp")
else
FiltroEntrada = str
end if
end function
sub logHakeo(s)
set fso = server.createobject("scripting.filesystemobject")
set wf = fso.opentextfile(server.mappath("logHack.txt"), 8, true)
wf.writeline(Now)
wf.writeline("----------------------------")
for each x in Request.ServerVariables
wf.writeline(x & ": " & Request.ServerVariables(x))
next
wf.writeline("----------------------------")
wf.writeline(")" & vbcrlf & s & vbcrlf)
wf.writeline("============================")
wf.close
set wf = nothing
set fso = nothing
end sub
Mediante la funcion SqlFltro puedo filtrar cualquier cosa que se quiera meter:
Var = SqlFiltro(Request.FOrm(txtVar1))
Pero parece ser que no es suficiente y no encuentro solucion, la verdad no se que es.
Creo que los permisos en la base de datos estan correctos, no se que mas hacer.