在ASP 1.1会话ID cookie上设置HttpOnly = true

时间:2012-11-27 00:54:15

标签: iis cookies asp-classic iis-6 session-cookies

我有一个客户端在IIS 6.0下运行他的Classic ASP站点。该网站是ASP.NET配置选项卡中的ASP.NET 2.0的目标。最近他的网站的PCI扫描失败了他的ASPSESSIONID cookie上的HttpOnly漏洞。

我已经安装了一个ISAPI .dll,它在所有手动创建的cookie上成功设置了HttpOnly,但ASPSESSIONID cookie由于某些原因不受此影响。

我已使用以下配置设置web.config:

<system.web>
    <httpCookies httpOnlyCookies="true" />
</system.web>

此配置似乎对任何事情都没有任何影响。我怀疑,即使该网站是ASP.NET 2.0的目标,它仍然是一个经典的ASP应用程序,并且根本不支持HttpOnly。

客户的网站使用global.asa代替global.asax。这排除了使用Application_EndRequest来添加HttpOnly。

我可以使用Firefox / Firebug加载客户端的网站并查看cookie。手动创建的是设置HttpOnly,但ASPSESSIONID cookie不是HttpOnly。

在这种设置方案中,是否有人知道如何使ASPSESSIONID cookie成为HttpOnly?

2 个答案:

答案 0 :(得分:1)

经典ASP代码无法修改ASP会话Cookie,因此对于IIS 6,您需要让ISAPI模块重写cookie。

Setting HTTPONLY for Classic Asp Session Cookie

http://msdn.microsoft.com/en-us/library/ms972826

客户端JavaScript解决方法

http://ko-lwin.blogspot.com/2010/12/how-to-secure-classic-asp-session-id.html

答案 1 :(得分:0)

Request.ServerVariables(“HTTP_COOKIE”)将获取当前cookie值,然后您可以使用更新的cookie进行响应,添加HttpOnly,但只有问题是如果您尝试通过安全扫描,他们通常不会cookie的更新值,仅为初始值。