问题标签 [session-fixation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 登录一个选项卡时自动登录其他选项卡
好吧,我正在尝试在我的本地主机上测试会话固定/劫持。
我试图将带有 SID 的 URL 从攻击者提供给受害者,并让受害者登录该 URL。但是当受害者登录时,攻击者刷新了页面,仍然在登录页面。
然后我发现如果我在浏览器中有两个登录选项卡,受害者在选项卡 1 中登录,但选项卡 2 在刷新后不会自动登录。所以这可能就是我的攻击者留在登录页面的原因?
我的问题是,如果用户已经在一个选项卡中登录,我必须在我的 php 文件中做什么才能在其他选项卡中自动登录用户? 对于这种情况,我应该查找什么关键字?
java - 未找到预期的 CSRF 令牌。你的会话过期了吗?
我在 SE 中对此问题进行了研究,但没有找到解决问题的答案。
从我的问题来看,每次我在 web 中注销会话并打开新选项卡时,总是会触发此错误。我认为会话管理不允许 csrf 令牌在浏览器的另一个选项卡中公开。
当我在 chrome cookies 控制台中跟踪 JSESSIONID 时,它显示与正常成功登录相比没有给出响应,后者给出了 JSESSIONID 的响应。
这是我的登录页面表单:
我认为问题出在我的安全配置中的会话管理:
但不知何故我无法解决问题。我希望有人能帮帮忙。
更新:
我使用此链接注销:
php - 通过php会话令牌在服务器中写入任意文件的可能性
我读到用户可以通过在登录时为 PHPSESSID 令牌指定一个特制的值来覆盖文件系统上的任意文件。它声明它可以覆盖其他会话文件或删除其他系统相关文件。
只有登录用户才能访问该应用程序。我们在文件系统中维护会话。会话文件名是以字符串常量为前缀的会话 ID。当有来自客户端的请求时,我们从 PHPSESSID 获取会话 ID,并将字符串常量添加到会话 ID 中,并将其用作文件系统中该会话的文件名。只有登录的用户可以
例如:
PHPSESSID = A3KJHT63XK496LSDNTJ45
会话文件名 i 文件系统将是“STRINGA3KJHT63XK496LSDNTJ45”
通过发出如下请求来覆盖/删除现有文件的可能性是什么...
在上面的示例中,会话文件是使用名称“STRING../../php.log”创建/访问的。这是安全漏洞审核指出的,因为直接提供了文件名,因此该系统文件有可能被删除或覆盖。
在这种情况下,任何通过会话 id 制作的字符串(例如是“../../php.log”),其前缀是一些其他字符串常量,如“STRING”,以给出最终字符串“STRING../.. /php.log" 变为有效。文件系统中不存在具有该名称的文件名,也不存在任何安全漏洞。
然而,我想知道上述方法还带来了哪些其他漏洞?
websphere - WebSphere 8.5 中的 changeSessionIdOnAuthentication?
我们的安全团队运行了一次扫描,告诉我们我们很容易受到会话固定的影响,并且文档告诉我们在 tomcat 中我们应该使用 context.xml 中的 changeSessionIdOnAuthentication 设置。
WebSphere 8.5 中的等效移动是什么?
ruby-on-rails - Rails4 安全性:使用加密 cookie 完全可以固定会话?
在研究了 rails 指南和其他一些资源之后,我想知道对用户会话的会话固定攻击是如何发生的。至少我怀疑它是否像指南中描述的那样简单,攻击者......
1) ...通过登录创建一个有效的会话
2) ...保持会话活跃
3) ...然后强迫用户使用他的会话ID,例如通过使用一些XSS漏洞
一切都很好,但是......攻击者如何能够收集他自己的会话 ID 的值?默认情况下,cookie 在 Rails4+ 中是加密的。那么假设我无权访问secret_key_base
或用于生成加密和签名密钥的任何东西,作为攻击者该怎么办?据我了解,我无法在不使其失效的情况下篡改 cookie(签名错误),因此以某种方式将自己创建的 cookie 传递给可能的受害者也不是一种选择。
secu 指南是不是最新的,还是我在这里遗漏了一点?如果是后者那么...
a) [作为攻击者] 我如何读取加密的 cookie 信息
b) 一个漏洞如何才能让我 [攻击者] 将该会话 id 注入另一个客户端上同样加密的 cookie 中?那会是XSS攻击吗?该指南指出,如果攻击者使用类似的代码
他也许能够修复那个会话。但同样,为什么 rails 会向客户端显示它是普通会话,使其可以通过客户端处理的 javascript 访问?它没有,这就是为什么我所有的 cookie 值都是简单的胡言乱语,Javascript 无法访问(可以通过控制台测试),对吧?
感谢您的任何建议!
security - 会话重放 vs 会话固定 vs 会话劫持
任何人都可以明确区分会话固定、会话重放和会话劫持攻击吗?我看过很多文章,但是会话劫持和会话重放攻击之间的问题仍然不清楚。
spring - HttpOnly 标志可以防止会话固定攻击吗?
我需要在登录后保留会话 ID。我的会话 id cookie 被标记为 HttpOnly。这样的设置绝对安全吗?如果我的会话 cookie 是 HttpOnly,攻击者是否有可能执行会话固定攻击?
csrf - CSRF 保护和 Session fixation 保护哪个更重要
我正在尝试为我的 Web 应用程序实现 Tomcats CSRF 保护过滤器,其中用户存储在 MySQL DB 中,并且由于我的控制器被写入转发所有请求,我已将过滤器映射编辑为
但是,根据 OWASP 的建议,我也会在用户登录时使用户会话无效,然后创建一个新会话。
这会导致过滤器启动,我得到一个 403。
我环顾四周,但找不到让过滤器与此策略配合使用的方法。
那么我应该放弃过滤器还是使会话无效?
servlets - 生成新的会话 ID
如何在不扩展 HttpServlet 类的情况下生成新的会话 ID。是否必须扩展 HttpServlet 类 & 是否必须在 doGet 方法中生成新的会话 ID
cookies - 认证后更新cookie
我们的是一个网络应用程序。安全团队建议我们在每次授权升级时更改 cookie。
因此,我想在身份验证后更新客户端 cookie。我使用了以下代码:
问题是一旦 cookie 得到更新,用户就会再次被视为未经身份验证的用户。
提前致谢。