Configurer HTTPONLY pour le Cookie de Session Asp classique
est-ce que quelqu'un sait exactement comment configurer HTTPONLY sur les cookies de session ASP classiques?
c'est la dernière chose qui a été signalée dans un scan de vulnérabilité et doit être corrigée dès que possible, donc toute aide est appréciée.
quelqu'un Peut m'aider avec ça?
j'ai besoin de savoir comment configurer HTTPONLY sur le cookie ASPSESSION créé par défaut à partir D'ASP & IIS.
C'est la cookie créé automatiquement par le serveur pour toutes les pages asp.
si nécessaire, je peux configurer HTTPONLY sur tous les cookies du site.
Tout sur comment faire ce serait très apprécié.
Merci
Merci Elliott
5 réponses
Microsoft inclut un exemple utilisant un filtre ISAPI pour tous les cookies sortants: http://msdn.microsoft.com/en-us/library/ms972826
ou la réécriture d'URL peut être utilisé http://forums.iis.net/p/1168473/1946312.aspx
<rewrite>
<outboundRules>
<rule name="Add HttpOnly" preCondition="No HttpOnly">
<match serverVariable="RESPONSE_Set_Cookie" pattern=".*" negate="false" />
<action type="Rewrite" value="{R:0}; HttpOnly" />
<conditions>
</conditions>
</rule>
<preConditions>
<preCondition name="No HttpOnly">
<add input="{RESPONSE_Set_Cookie}" pattern="." />
<add input="{RESPONSE_Set_Cookie}" pattern="; HttpOnly" negate="true" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
si vous avez IIS7 + , vous devez vous assurer que le module de réécriture D'URL est installé. Vous pouvez l'installer avec L'installateur de plate-forme Web. L'installateur de plate-forme Web peut être trouvé dans la vue de traits pour votre site web. Vous devez diriger le Gestionnaire en tant qu'administrateur.
cliquez sur L'installateur de plate-forme Web dans la vue des fonctionnalités de votre site web:
Maker assure L'URL Le produit rewrite Server est installé. Si elle ne l'est pas, puis l'installer.
avec le produit de serveur de réécriture D'URL installé, vous pouvez utiliser la fonctionnalité de réécriture D'URL sur votre site web pour ajouter une règle pour ajouter HttpOnly pour vos cookies D'ID de Session.
vous devriez voir, si elle ne il existe déjà, un web.fichier de configuration créé pour votre site ASP. il aura le contenu suivant:
si vous utilisez Firebug dans Firefox pour inspecter vos cookies, vous devriez maintenant Voir le drapeau HttpOnly:
Response.AddHeader "Set-Cookie", "CookieName=CookieValue; path=/; HttpOnly"
j'ai compilé le exemple de filtre ISAPI de Microsoft. Cela a résolu mon problème.
la DLL ISAPI est ici
n'hésitez pas à télécharger.
Cette page a beaucoup d'informations qui sont pertinentes à votre problème.
.NET 1.1 ne pas ajouter HttpOnly
parce qu'il n'avait pas encore été inventée.
si votre application tourne sous .NET 2.0 (j'ai déplacé plusieurs sites ASP classiques vers 2.0 pratiquement inchangés) HttpOnly est défini par défaut.
Si j'ai lu de lui, vous pouvez obtenir le cookie de Session et de les ajouter ; HttpOnly;
. Il donne un exemple java:
String sessionid = request.getSession().getId();
response.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + "; HttpOnly");
Enfin, il suggère:
si les changements de code sont irréalisables, des pare-feu d'application web peuvent être utilisés pour ajouter HttpOnly aux cookies de session
Edité pour ajouter: pour ceux qui pensent que la migration vers .NET (qui peut accommoder le code ASP le plus classique inchangé) est un changement trop radical pour obtenir une si petite fonctionnalité, mon expérience des filtres ISAPI est qu'ils, aussi, peuvent être une douleur majeure, et dans certaines situations communes (hébergement partagé) vous ne pouvez pas les utiliser à tout.