我阅读了有关会话劫持的文章,并希望了解更多与此相关的信息。目前,我在ASP.NET中开发的Web应用程序正在为sessionstate使用Cookieless = true模式。我们正在使用HTTPS,这是一种安全连接,可减少会话劫持。我知道当我们使用Cookieless时,会话ID被嵌入在URL中,如果用户将此URL传递给某人,并且其他用户能够在会话仍然存在的情况下登录,那么这可能很危险。所以只是想知道HTTPS是绰绰有余,或者我应该做一些事情来保护我的网络应用程序。避免针对Web应用程序的会话劫持
4
A
回答
4
HTTPS仅保护客户端和服务器(或服务器和客户端)之间的数据抓取和更改。如果用户与朋友(或黑客:)共享链接,它不能帮助你)
作为一个选项,您可以在会话启动时将会话变量保存为客户端IP,并在每个请求中检查当前IP和IP来自会话相同。这将提供更多的安全性。
4
如果客户端IP更改并强制它们重新登录,您可以结束会话。
2
会话劫持可能通过一些方法发生。 HTTPS可防止嗅探,但XSS是迄今为止最常见的攻击。您可以使用httponlycookies来防止xss攻击访问document.cookie
,但攻击者可以在会话xmlhttprequest(Sammy蠕虫对MySpace执行此操作)时“骑”。说到骑马,你应该看看CSRF。如果您将会话ID存储在数据库中,即使SQL注入可用于劫持会话,但并非所有的Web应用都这样做。
使用httponlycookies,确保它们仅用于https,对于所有内容都使用https。 不要使用asp.net的“无cookies”会话,这会让您容易受到Session Fixation的影响。会话ID应该始终使用cookie传递,并且永远不会以GET或POST的形式传递。你可能要考虑using STS。
2
还要考虑你的session ID可能会在HTTP_REFERER头文件中向外部人泄露。如果用户访问在同一浏览器窗口中打开的链接,HTTP_REFERER将包含所访问的最后一页的URL(包括URL参数中的会话ID)。 如果链接指向您的服务以外,则会出现问题。
相关问题
- 1. 在ASP.NET中避免会话劫持
- 2. 避免会话劫持与Kohana
- 3. 避免会话劫持现场与HTTP
- 4. 如何避免json劫持
- 5. 如何防止会话劫持导致asp.net应用程序?
- 6. 停止会话劫持
- 7. 会话劫持和PHP
- 8. 会话劫持安全
- 9. 会话劫持或攻击?
- 10. 我认为我的PHP应用程序正在被会话劫持?
- 11. ZK中的会话劫持预防
- 12. ASP.NET中的会话劫持保护
- 13. 防止会话劫持的好方法?
- 14. Web应用程序的会话处理
- 15. 针对iOS的持续应用程序
- 16. 如何防止在asp.net web应用程序中使用burp套件等工具会话劫持?
- 17. C#:劫持近乎相对的电话
- 18. 怎么办HTTPS防止会话劫持
- 19. 实施会话劫持预防,正确
- 20. 如何防止tomcat会话劫持?
- 21. 针对应用程序的Oracle多路会话
- 22. Web应用程序会话缓存
- 23. 会话超时后的HttpRequest对象用于Web应用程序
- 24. iPhone应用程序/ Web应用程序会话理论
- 25. 避免ssh会话超时
- 26. iOS 5.1被UISplitViewController劫持的滑动手势 - 如何避免?
- 27. 是FileCleaner以避免Web应用程序中的多个部署?
- 28. 避免暴露Web应用程序源中的主键?
- 29. 如何避免混乱的ASP.NET Web应用程序部署?
- 30. Canvas Web应用程序Feed对话框
thnks的建议,但我不能从cookieless更改为cookie,因为它已经实施,我可以找到相关的东西 - http://msdn.microsoft.com/hi-in/magazine/cc300500( en-us).aspx 我希望这可能有所帮助,如果有人可以提出比这更好的建议,那么它将会是grt。 – Punit 2010-08-18 11:10:38