Pour traiter les vulnérabilités de débordement d'ASP, nous devons effectuer un filtrage complet des caractères.
L'une consiste à se connecter en tant que membre
. Le code suivant consiste à filtrer les caractères illégaux dans le nom d'utilisateur.
<%
nom d'utilisateur=trim(request.form("nom d'utilisateur"))
userpws=trim(request.form("mot de passe"))
si username="" ou userpws="" ou Instr(username,"=")>0 ou Instr(username,"%")>0 ou Instr(username,chr(32))>0 ou Instr(username," ?")>0 ou Instr(nom d'utilisateur,"&")>0 ou Instr(nom d'utilisateur,";")>0 ou Instr(nom d'utilisateur,",")>0 ou Instr(nom d'utilisateur,"'")>0 ou Instr(nom d'utilisateur,",")>0 ou Instr(nom d'utilisateur,chr(34))>0 ou Instr(nom d'utilisateur,chr(9))>0 ou Instr(nom d'utilisateur,"?")>0 ou Instr(nom d'utilisateur, "$")>0 alors
réponse.write(''Veuillez saisir correctement le nom d'utilisateur et le mot de passe'')
réponse.end
finir si
%>
Il existe également une vulnérabilité de débordement qui implique la saisie de caractères illégaux via la barre d'adresse. Par exemple, si une page est newslist.asp et l'autre est newspage.asp,
nous transmettons le paramètre newsid de newslist.asp à newspage.asp.
Lors de la réception de paramètres dans newspage.asp, nous utilisons généralement uniquement,
<%
sombre nouvelle
idactualité=requête(''idactualité'')
......................
%>
Pour être prudent, nous devrions au moins ajouter
<%
sombre nouvelle
newsid=tirm(requête''id'')
si newsid='''' ou Instr(newsid,"'")>0 ou Instr(newsid,"%")>0 alors
réponse.write(''Paramètre illégal'')
réponse.end
%>
Ce que j'ai dit correspond essentiellement aux deux points ci-dessus. S'il y a des lacunes, veuillez me le faire savoir.
Bien qu'il y ait encore quelques failles dans INTERNET, la saisie de quelques lignes de code supplémentaires peut mieux augmenter la sécurité du site !
Un moyen simple de gérer l'utilisation d'une vulnérabilité de débordement de caractères illégal pour attaquer des sites Web