我一直致力于一个安全的登录/门户类型工具集,一般代码没有SQL注入,XSS等,我有很多东西来阻止会话劫持.
等等
我已经做了所有我能想到的停止劫持的事情,但是我仍然找到了可能的情况,并且想知道是否有人有任何想法.
想象一下,在防火墙后面有2个用户执行SNAT/DNAT的情况,因此两者都来自同一个IP.它们都是由同一地方提供的相同机器.一个连接到站点并登录,另一个复制PHPSESSID cookie并且可以简单地窃取会话.
这可能听起来像一个极端的例子,但这与我的工作地点非常相似,每个人都在防火墙后面,所以看起来是相同的IP,所有机器都由IT团队管理/提供,所以所有都有相同的版本浏览器,操作系统等
我试图想到另一种方式(服务器端)停止劫持或进一步最小化它,我想到一个令牌嵌入到每个URL(为每个页面更改),并检查.
我正在寻找想法或建议,如果你想提供你喜欢的代码或例子,但我对我的令牌想法的开箱即用的想法或评论更感兴趣.
强制一切都使用 HTTPS。
我认为您指的是网络中的用户嗅探 cookie 的被动攻击。为此,您不需要 HTTPS。当双方确定他们正在与谁交谈时,有几个选项就足够了(例如,您可以先进行 DH 交换,服务器将加密客户端将在下一个请求中使用的令牌......),但它不是沿着这条路走下去是值得的。
如果用户最初输入非 https 地址,主动攻击仍然有可能,但在这种情况下您无能为力。将来,一旦用户通过HTTP 严格的传输安全性与您的站点建立了一个纯粹的连接,您就可以防止此类攻击。。