Para abordar las vulnerabilidades de desbordamiento de ASP, debemos realizar un filtrado completo de caracteres.
Uno es iniciar sesión como miembro
. El siguiente código sirve para filtrar los caracteres ilegales en el nombre de usuario.
<%
nombre de usuario = recortar (solicitud.formulario ("nombre de usuario"))
userpws=recortar(solicitud.formulario("contraseña"))
si nombre de usuario="" o userpws="" o Instr(nombre de usuario,"=")>0 o Instr(nombre de usuario,"%")>0 o Instr(nombre de usuario,chr(32))>0 o Instr(nombre de usuario," ?")>0 o Instr(nombre de usuario,"&")>0 o Instr(nombre de usuario,";")>0 o Instr(nombre de usuario,",")>0 o Instr(nombre de usuario,"'")>0 o Instr(nombre de usuario,",")>0 o Instr(nombre de usuario,chr(34))>0 o Instr(nombre de usuario,chr(9))>0 o Instr(nombre de usuario,"?")>0 o Instr(nombre de usuario, "$")>0 entonces
respuesta.write(''Por favor, introduzca el nombre de usuario y la contraseña correctamente'')
respuesta.fin
terminar si
%>
También existe una vulnerabilidad de desbordamiento que implica ingresar caracteres ilegales a través de la barra de direcciones. Por ejemplo, si una página es newslist.asp y la otra es newspage.asp,
pasamos el parámetro newsid de newslist.asp a newspage.asp.
Cuando recibimos parámetros en newspage.asp, generalmente solo usamos,
<%
noticias tenues
idnoticia=solicitud(''idnoticia'')
....................
%>
Para estar seguros al menos deberíamos agregar
<%
noticias tenues
idnoticias=tirm(solicitud''id'')
si newsid='''' o Instr(newsid,"'")>0 o Instr(newsid,"%")>0 entonces
respuesta.write(''Parámetro ilegal'')
respuesta.fin
%>
Lo que dije son básicamente los dos puntos anteriores. Si hay alguna deficiencia, hágamelo saber.
Aunque todavía tenemos algunas lagunas en INTERNET, ingresar algunas líneas más de código puede aumentar mejor la seguridad del sitio web.
Una forma sencilla de abordar el uso de la vulnerabilidad de desbordamiento de caracteres ilegal para atacar sitios web