security - quimicos - Una buena forma de desinfectar la información en asp clásico
protocolo de limpieza y desinfeccion en instalaciones (5)
Tengo que actualizar viejos proyectos en el trabajo. No tengo ninguna experiencia con ASP clásico, aunque estoy familiarizado con PHP scripting.
- ¿Hay alguna función que deba usar?
- ¿Me puede proporcionar una buena función para alguna protección básica?
- ¿Hay algo así como una consulta parametrizada en asp?
¡Gracias!
Cuidado con la inyección SQL. No concatenar la entrada del usuario a una cadena de SQL y luego ejecutarlo. En cambio, siempre usó consultas parametrizadas.
Siempre use Server.HTMLEncode para desinfectar la entrada del usuario.
Por ejemplo, si está configurando una variable desde un cuadro de texto de formulario:
firstName = Server.HTMLEncode (trim (request.form ("firstname")))
Una forma de hacerlo podría ser agregar una header.asp
en un archivo header.asp
que recorre el objeto Request
buscando caracteres inapropiados. Por ejemplo:
<%
for each x in Request.Form '' Do this for Request.Querystring also
If InStr(x,"<") <> 0 Then
'' encode the value or redirect to error page?
End If
next
%>
Hay un montón de funciones que comienzan con Is, como IsNumber
, IsArray
, etcétera, que pueden ser de interés. Además, si está esperando un número entero, puede usar CLng(Request("blabla"))
para obtenerlo, por lo tanto, si no es un número entero, la función CLng generará un error.
Lijadora,
Sí, puede usar consultas parametrizadas en ASP clásico (más exactamente, ADO clásico).
Aquí hay un enlace .
En cuanto a la salida de codificación, podría estar tentado de crear un contenedor para la última biblioteca Microsoft Anti-XSS y llamarlo con Server.CreateObject. Estoy lejos de ser un experto en este tipo de cosas ya que paso mucho más tiempo en .Net, así que solo creo que esto funcionaría.
Server.HTMLEncode realmente no es lo suficientemente bueno, ya que solo incluye una lista negra de algunos caracteres de codificación. La biblioteca Anti-XSS es mucho mejor ya que incluye una lista blanca de lo que es aceptable.