问题标签 [session-hijacking]

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.

0 投票
1 回答
599 浏览

asp.net - ASP.NET 中的会话劫持对策

我想采取措施防止/减轻会话劫持。因此,我想知道来自内置 ASP.NET 或自定义组件的选项。

请注意,会话劫持指的是Forms Auth sessionSession State

我的 ASP.NET 一直对所有页面使用 HTTPS。但是,一旦第三方以某种方式(例如从用户的硬盘驱动器、跨站点脚本攻击和中间人攻击)获得会话 cookie id,则会话可能会受到损害

特别是,我担心会话 id 劫持,因为我的项目一直使用 https

以下是我查看的链接,这些链接是几年前写的:

挫败会话劫持尝试 Jeff Prosise请参阅警告部分了解其缺点。

我在网上找不到太多相关信息,或者与 Jeff 的不同。

0 投票
1 回答
2148 浏览

java - Java Spring 中的会话劫持

我有一个关于劫持会话变量的问题。让我们假设我们有一个 Spring Security 支持的 Web 应用程序,并且我已经登陆了一个页面,其中存储了一堆会话变量在服务器端。现在,会话变量通常不能纯粹从客户端访问。客户端有没有办法以某种方式将页面重定向到另一个 Web 应用程序(带有恶意服务器端脚本),同时保持当前会话变量不变?

我的印象是,在原始 Web 应用程序中没有重大缺陷是不可能的。

无论如何,问题是:是否可以在不对 Web 应用程序的服务器端内容进行任何更改的情况下窃取 Spring Security 支持的 Web 应用程序的会话变量?

编辑:使用 TLS

0 投票
1 回答
480 浏览

java - 我如何劫持打开的浏览器会话并将其附加到 Webdriver 而不是自己打开浏览器

使用 Selenium webDriver 时,我总是必须启动驱动程序并打开浏览器,在整个流程中导航以验证某些内容,如果它未能抛出异常,则必须花费大量时间做同样的事情。

一直想保持另一个浏览器会话打开,并让 webdriver 附加到打开的会话并对其进行处理,这样就可以消除遍历流程的需要。

有谁知道如何在 Selenium Webdriver 中使用 Java 做到这一点?

谢谢

0 投票
0 回答
147 浏览

php - 会话劫持?X-Forwarded-For,Login和后续请求不同

当用户登录到 Web 应用程序时,我捕获了 3 个值并将其存储在会话状态中:

登录时,http-x-forwarded-for 为空值。日志文件显示,当用户评估主页时,http-x-forwarded-for 有一个新值,例如 10.0.0.45。这意味着什么?

我应该结束会话吗?或者只是将一个空页面加载到客户端?这是某种劫持吗?

0 投票
0 回答
346 浏览

javascript - 使用 JavaScript 防止意外的会话劫持

好吧,这听起来像是一个愚蠢的问题,但这实际上是我必须解决的现实生活中的情况。

我工作的公司正在使用托管在公司服务器上的相当过时的在线商店软件 (PHP)。不幸的是,源代码是加密的,CMS 也不允许我添加一些 PHP 代码,所以我想我在这个上被 JavaScript 卡住了。

假设我们有一个大促销开始了,人们开始通过 YouTube、Twitter 等分享链接。由于该软件是在上个世纪的某个地方制作的,因此某些链接仍然包含会话 ID,这些会话 ID 肯定会被某些用户共享。然而,这将导致多个用户在同一个客户帐户上下订单,或者更糟糕的是,用新的客户数据覆盖现有客户帐户。

我知道这种情况远非理想,软件肯定需要更新,但目前这不是一个选择。我也知道我没有得到 100% 的解决方案,所以我会尽量防止人们意外破坏一些客户数据。

可悲的是,我想检查会话 ID 的 URL 并检查 document.referrer 中的值。如果 URL 包含会话 ID,并且引用者是我们以外的其他服务器,我将快速重定向到主登录页面。再说一遍:这是为了防止普通用户由于单击错误链接而意外登录到其他人的帐户,我并不是要在这里阻止正确的会话劫持。

关于这个有什么想法吗?是否存在引荐来源网址可能不包含实际值的情况,例如浏览器根本不发送引荐来源网址?还有其他仅使用 JavaScript 来解决这个问题的方法吗?

0 投票
3 回答
165 浏览

php - 会话劫持应对方法

很明显,我们大多数 PHP 程序员不希望我们发布的作品以我们不希望的方式被黑客入侵或利用。因此,在询问如何应对会话劫持时,我会格外小心。我知道有 session_regenerate_id() 函数可以部分对抗会话劫持,但我对我遇到的另一种方法更好奇:

当用户登录网站时,您将他们的 user_id(或另一个更秘密的预定义加密字符串)(普通用户未知)作为字符串,并用随机预定义符号对其进行加盐,md5() 字符串并设置它作为 $_SESSION['user_code'] = $that_string; 并且无论何时该用户进入您盐分的页面,重复该过程并将其与 $_SESSION['user_code'] 匹配,如果它们不匹配;销毁会话。

所以在代码中它看起来像这样(例如):

然后在每个可用页面的开头检查这是否正确:

我不认为使用 user_id 作为加密的一部分是最佳的,但这只是一个例子。最好我将使用创建用户时的时间戳的 md5 字符串。但是,如果我不清楚我的主要问题是这种方法对会话劫持是否有效,为什么/为什么不呢?

0 投票
0 回答
30 浏览

session - 通过在虚拟服务器中创建的会话或 cookie 登录

正如我们所知,当我们登录系统时,他们会创建某种类型的会话或 cookie 来跟踪登录的用户,进一步的处理基于 sessionid 或 cookie。

是否可以从虚拟服务器获取会话或 cookie 并从其他位置或浏览器访问网站?

例如:- 我有网站 abc.com 的登录凭据,我在远程服务器上登录了该网站,并在远程服务器浏览器上获取网站创建的 sessionid 或 cookie。接下来基于该 sessionid 或 cookie 而无需再次登录 abc.com 我可以访问整个功能吗?有没有可能?如果是,那怎么办?

可能是某种类型的会话劫持?

注意:我不需要它来进行黑客攻击。:)

提前致谢。

0 投票
1 回答
869 浏览

php - php会话变量的安全性如何

我的网站中有一个管理面板,我可以从中登录以管理我的网站,对于登录身份验证,我使用了一个代码来检查用户名和密码是否存在于 dB 中,如果是,我设置一个变量为 true 像这样: $_SESSION['admin_logged']= true ;

我想知道这种方式是否安全。因为我在某处听说会话变量可能被窃取或嗅探或类似的东西。但是,我真的不知道那是什么意思。当变量保存在服务器端时,如何窃取变量?如果可能的话,我怎样才能防止这种情况发生。非常感谢您提前。

0 投票
0 回答
372 浏览

java - 会话劫持,有可能吗?

我已经尝试使用带有一些 SessionId 的Postman来发布身份验证发布请求。我的问题与这篇文章非常相似,它是:

如果使用 java 程序获取用户 sessionId(存储在 cookie 中)并将其发送到例如 google 以进行会话劫持的身份验证,这可能吗?如果不可能,为什么Postman Interceptor可以成功呢?

0 投票
1 回答
1576 浏览

php - 登录一个选项卡时自动登录其他选项卡

好吧,我正在尝试在我的本地主机上测试会话固定/劫持。

我试图将带有 SID 的 URL 从攻击者提供给受害者,并让受害者登录该 URL。但是当受害者登录时,攻击者刷新了页面,仍然在登录页面。

然后我发现如果我在浏览器中有两个登录选项卡,受害者在选项卡 1 中登录,但选项卡 2 在刷新后不会自动登录。所以这可能就是我的攻击者留在登录页面的原因?

我的问题是,如果用户已经在一个选项卡中登录,我必须在我的 php 文件中做什么才能在其他选项卡中自动登录用户? 对于这种情况,我应该查找什么关键字?