我有一个用java写的web应用程序。我们在身份验证过程中不使用会话。运行了应用程序扫描,发现可能存在会话固定攻击。我想知道,当我们不使用会话时,如何修复或防止会话固定?这是FORTIFY扫描报告所显示的信息
The following changes were applied to the original request:
• Added parameter 'Cookie_abcxyz.com-443' with the following value 'R3777273810'
• Removed cookie 'Cookie_abcxyz.com-443'
Request/Response:
GET / HTTP/1.1
Content-Length: 43
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)
Host: myportal.abcxyz.com
Cookie_abcxyz.com-443=R3777273810
HTTP/1.1 200 OK
Set-Cookie: Cookie_abcxyz.com-443=R3777273810; path=/
Content-Length: 11211
Date: Mon, 13 Feb 2012 17:08:14 GMT
Server: abcxyz
Cache-Control: no-cache
Content-type: text/html发布于 2012-03-06 00:13:07
我们在身份验证过程中不使用会话...我想知道我们什么时候不使用会话
这是不相关的。我假设您在server.This中使用了会话管理,错误报告指出您没有验证会话标识符的查询字符串。
在这里查看你如何被攻击的一些例子:Session Fixation
更新:
我怀疑你没有使用标准的容器,我不能告诉你你实际上应该做什么,因为你没有放任何代码,但是从你的描述和你得到的这样一个发现的报告来看,问题是你允许URL重写,攻击者可以使用它通过传递一个已知的会话id来“窃取”会话。
从广义上讲,你应该做的是在用户登录之后,使当前会话无效,并在spot.As上创建一个新的会话,结果是已经“存储”的id不能被重用。
由于您在文章中提供的信息太少,您应该花一些时间研究以下内容,以确定您的代码中有问题的部分:
ASP as well
Interesting paper on session fixation
Some HTTP utilities from OWASP that you could perhaps use
Secure Session Management
https://stackoverflow.com/questions/9569915
复制相似问题