问题标签 [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.
security - 你能给我一个会话固定攻击的例子吗?
我已经阅读了有关会话固定的内容,据我所知,它会迫使用户使用攻击者的会话。这个对吗?你能举个例子说明这会如何冒犯用户吗?
asp.net-mvc - 防伪令牌盐有什么用?
在 ASP.NET MVC 1.0 中,有一个处理跨站请求伪造安全问题的新特性:
我发现每次呈现新表单时,以 html 表单生成的令牌都会不断变化。
我想知道这些令牌是如何生成的?并且当使用某些软件扫描这个站点时,它会报告另一个安全问题:会话已修复。为什么?既然token一直在变,怎么会出现这个问题呢?
还有一个功能,就是 salt 的antiForgeryToken
,但是我真的知道这个是干什么用的,即使我们不使用 salt 来生成 token,token 也会一直在变化,为什么会有这样的功能?
php - 使用 Cookie 保护会员登录
将用户的用户名和密码存储在 cookie 中是一种好习惯吗?我真的很想知道像(Facebook、digg、twitter)这样的大网站是如何处理这个问题的。我的代码是这样的:
每次成功登录后,我都会将$username
和$password
(md5) 存储在 cookie 中。并重新生成会话IDsession_regenerate_id()
为了验证用户身份,我检查是否存在登录会话,否则我验证 cookie。
有任何想法吗?谢谢
ruby-on-rails - Rails/RSpec:reset_session 在集成测试期间不更改 Set-Cookie HTTP 标头值
我正在编写一个集成测试以确保我的 webapp 不会受到会话固定的影响。
我已经手动验证了reset_session
它实际上是在身份验证逻辑中触发的,而且当我使用我的网络浏览器登录时,cookie 确实发生了变化(因此,我不再容易受到会话固定的影响),但我无法得到我的RSpec 集成测试成功验证了这一点。
这是我的 RSpec 集成测试。
除了最后一个断言外,一切正常。cookie 没有变化。
RSpec/Rails 集成测试是否有任何已知问题reset_session
无法按预期工作?我可以做些什么来编写一个验证会话固定不是问题的测试?
php - PHP 会话 - 在每个页面加载时检查之前的 IP - 要做,还是替代?
现在我在我的开发环境中实现了这个:
- 我在登录时将 $SERVER['REMOTE_ADDR'] 存储为会话变量,然后在每个页面加载时重新检查页面以获取相同的 IP 地址。
我读的越多,我看到很多人不喜欢这个想法,因为代理等......那么,还有哪些其他选项仍然可以是好的做法?我在考虑 USER AGENT - 但是任何 joe-blow 都可以用一个简单的 firefox 插件来伪造它。也就是说,至少攻击者需要很好的猜测才能在第一次尝试时成功选择正确的...
人们怎么想?我很想简单地将文本:'SERVER_ADDR' 换成其他东西——所有其他代码都可以保持原样。
谢谢。
编辑: 我想我的主要目标是防止劫持/固定。理论上,IP 检查可以确保用户始终是用户(好吧,除非有人也欺骗了 IP……)——但会话基本上保存到这个庄园的 IP 地址……
ruby-on-rails - 如何在 Rails 3 中的 reset_session 命令后找到新的 session_id?
我按照这里使用命令“reset_session”来避免会话固定。
运行命令后,我想将新生成的 session_id 存储在数据库中,但 session[:session_id] 未定义。
我写了一个简单的测试:
两个 conescutives 页面加载的日志中的结果是:
和
如您所见,随机数 (172) 已正确传递到第二页,但新会话未显示新会话 ID。
我认为新的会话 ID(“54f46f520c80044a9f5475af78a05502”)是在“after_filter”之后生成的,但我不知道如何检索它。
php - 用于测试目的的对本地主机的简单会话固定攻击
我在 SO 上阅读了许多关于会话固定/劫持风险的 q/a,许多人建议更改php.ini
指令,例如session.use_only_cookies
toON
和其他 php.ini 指令,以使服务器更安全......
我想亲眼看看是否可以在基于 PHP5 + Apache 的 localhost 服务器上复制一个简单的攻击场景。
在我的 localhostsession.use_only_cookies
上OFF
,根据上面的 q/a,我的 localhost 基本上是不受保护的,这就是我需要做的测试。
我第一次阅读了这篇关于如何执行会话固定攻击的简单文章:
为了复制文章中描述的场景,我创建了两个非常简单的 PHP 脚本(代码如下),但是攻击不起作用,这就是我所做的:
(假装是马洛里)我对爱丽丝说:“你好去访问http://localhost/login.php?PHPSESSID=mysessionid ”</p>
然后(假装爱丽丝)我去了 http://localhost/login.php?PHPSESSID=mysessionid
作为我的本地主机服务器的管理员,我看到在服务器磁盘上创建了会话(它被创建为一个名为 的文件
sess_ mysessionid
),所以我想:很酷,它正在工作!!!然后(假装是爱丽丝)我登录输入“joe”作为凭证
爱丽丝登录并被重定向到
insession_ok.php
,此时(根据上面的维基百科文章)马洛里也应该能够看到insession_ok.php
,因为他将会话固定到mysessionid
,但这不是真的,因为当爱丽丝登录新会话时在服务器上创建sess_vdshg238cnfb4vt7ahpnp1p522
,所以我现在不明白 Mallory 应该如何固定/劫持会话,如文章中所述?
登录.php
insession_ok.php
任何线索/想法总是受到赞赏!
oauth - 当前的 OAuth 1.0 规范 - 它如何解决会话固定攻击?
我已经按照这个规范实现了一个 OAuth 1.0 提供者,它应该是最新的。该规范进行了修改,以解决2009 年发现的会话固定攻击。问题是,除了必须区分这两个规范之外,我不确定在规范中添加/更改了哪些措施以响应该问题。
由于我实施了“正确”的规范,我很难向利益相关者解释我采取了哪些措施来减轻风险。
有人愿意为我阐明这个问题吗?
php - 会话固定攻击复制,学期论文 (php)
我正在尝试为我的学期论文复制会话,我在这里找到了很多提示,但无法复制对我的本地主机的攻击。
我从这里尝试了一个例子:http: //www.devshed.com/c/a/PHP/Sessions-and-Cookies/2/
固定.php:
测试.php
文章说我应该能够固定会话:
但是检查请求标头似乎不起作用:
此外,tmp 文件夹中有一个“sess_0avpo8ttlmg35apkjaovj6dgd3”文件。
我有点迷失在这里,并尝试了不止一些类似的例子,但没有奏效......
php.ini 中的一些更新
,设置这些值:
并且注释掉session.save_handler
会禁用在 cookie 中保存会话并生成 tmp 文件(我想,如果我错了,请纠正我)。现在我能够修复会话(tmp 文件夹中有一个名为 sess_1234 的文件)并劫持它(在另一个浏览器中打开,恢复状态)。再次,如果我错了,请纠正我 - 会话固定是在最近的 php 版本中完全修补还是只是这个简单的攻击?我当前的版本是 5.3.4
java - 防止java中的会话固定
我有一个用 java 编写的 web 应用程序。我们在身份验证过程中不使用会话。运行了应用程序扫描,发现我们有可能受到会话固定攻击。我想知道当我们不使用会话时,您如何修复或防止会话固定?这就是 FORTIFY 扫描报告的内容