• 【web-攻击会话管理】(4.1)会话状态:状态要求、会话替代方案


    目录

    攻击会话管理

    简介:

    1.1、状态要求

    简述:

    过程:

    1.2、会话替代方案

    简述:

    过程:


    攻击会话管理

    简介:

    1、在绝大多数Web应用程序中, 会话管理机制是一个基本的安全组件,帮助应用程序从大量不同的请求中确认特定的用户, 并处理它收集的关于用户与应用程序交互状态的数据。会话管理在应用程序执行登录功能时显得特别重要, 因为它可在用户通过请求提交他们的证书后, 持续向应用程序保证任何特定用户身份的真实性

    2、会话管理机制所发挥的关键作用, 它成为针对应用程序的恶意攻击的主要目标。如果攻击者能够破坏应用程序的会话管理, 就能轻易避开其实施的验证机制,不需要用户证书即可伪装成其他应用程序用户。如果攻击者以这种方式攻破一个管理用户, 那么他就能够控制整个应用程序

    和验证机制一样, 通常会话管理功能中也存在着大量缺陷。在最容易遭受攻击的情况下,攻击者只需递增应用程序向他们发布的令牌值, 就可以转换到另一名用户的账户, 任何人都可以访问应用程序的全部功能。如果应用程序受到严密保护, 攻击者必须付出巨大的努力, 破解几层模糊处理并实施复杂的自动攻击, 才能发现应用程序中存在的细小漏洞

    3、无论应用程序的验证机制多么安全稳定, 只有通过会话管理随后提出的请求才能与验证机制建立联系。如果应用程序的会话管理存在缺陷, 攻击者仍然能够避开可靠的验证机制, 危及用户的安全

    1.1、状态要求

    简述:

    1、HTTP协议没有状态,它基于一种简单的请求-响应模型, 其中每对消息代表一个独立的事务。协议本身并无将某位用户提出的各种请求联系起来的机制, 并将它们与Web服务器收到的所有其他请求区分开来。在Web发展的早期阶段, 并没有必要建立这种机制,因为Web站点公布的是任何人都可以查阅的静态HTML页面。

    2、绝大多数的Web "站点" 实际为Web应用程序。它们允许用户注册与登录;帮助用户购买及销售产品。它们能够在用户下次访问时记住他的喜好。它们可根据用户的单击和输入, 通过动态建立的内容提供丰富、多媒体形式的使用体验。为执行这些功能, 应用程序就需要使用会话

    3、支待登录是会话在应用程序中最主要的用途。输入用户名和密码后, 可以用输入的证书所属的用户身份使用应用程序, 直到退出会话或由于会话处于非活动状态而终止。用户不希望在每个应用程序页面重复输入密码。因此,一旦用户通过验证, 应用程序就会为他建立一个会话, 把所有属于这个会话的请求当做该用户提出的请求处理

    4、不具备登录功能的应用程序通常也需要使用会话。许多出售商品的站点并不要求顾客建立账户。但是, 它们允许用户浏览目录、往购物篮中添加商品、提供交货信息并进行支付,就没有必要验证用户的身份应用程序并不知道或关心绝大多数用户的身份,为了进行交易, 应用程序就要知道它收到的哪些请求来自同一名用户

    5、执行会话最简单、最常见的方法就是向每名用户发布一个唯一的会话令牌或标识符。用户在随后向应用程序提出的每一个请求中提交这个令牌,帮助应用程序在当前请求与前面提出的请求之间建立关联

    6、在大多数情况下, 应用程序使用HTTP cookie作为在服务器与客户端间传送这些会话令牌的传输机制。服务器对新客户端的第一个响应中包含以下HTTP消息头

    set-cookie: ASP.NET_SessionId=……

    客户端随后提出的请求中包含如下消息头

    cookie: ASP.NET_SessionId=……

    这种标准的会话管理机制非常容易受到各种类型的攻击。攻击者的主要目标是以某种方式劫持一名合法用户的会话, 由此伪装成这名用户。如果该用户已经通过应用程序的验证, 攻击者就可以访问属于这名用户的私有数据,或者以他的身份执行未授权操作。如果,该用户未能通过验证, 攻击者仍然能够查看用户在会话过程中提交的敏感信息。

    7、和运行ASP.NET的Microsoft IIS服务器一样, 许多商业Web服务器和Web应用程序平台执行它们自己的基于HTTP cookie的非定制会话管理。Web应用程序开发者可使用它们提供的API将会话依赖功能与这种解决方案整合起来

    8、一些非定制会话管理解决方案易于受到各种攻击, 导致用户的会话被攻破。开发者发现,需要比内置解决方案所提供的控制更加全面的会话行为控制, 或者希望避免基于cookie的解决方案中存在的一些固有漏洞。鉴于这些原因, 安全性至关重要的应用程序(如电子银行)通常使用定制或并非基于cookie的会话管理机制

    9、会话管理机制中存在的漏洞主要分为两类

    1、会话令牌生成过程中的薄弱环节

    2、在整个生命周期过程中处理会话令牌的薄弱环节


    过程:

    许多应用程序使用标准的cook叫几制传输会话令牌, 这样可直接确定哪些数据包含令牌。
    在其他情况下, 可能需要进行一番探测才能找到令牌。

    1、应用程序常常使用几个不同的数据共同表示一个令牌, 包括cookie 、URL参数和隐藏表单字段。其中一些数据可用于在不同的后端组件中维护会话状态。如果没有得到确认,不要想当然地认为某个特殊的参数就是会话令牌,或者只使用一个数据追踪会话

    2、有时,一些数据似乎是应用程序的会话令牌, 其实井非如此。具体来说, 由Web服务器或应用程序平台生成的标准会话cookie可能存在, 但实际并不被应用程序使用。

    3、用户通过验证后, 观察浏览器收到哪些新数据项。应用程序通常会在用户通过验证后建立新的会话令牌

    4、为确定应用程序到底使用哪些数据项作为令牌, 找到一个确信依赖会话的页面(如某一名用户的“用户资料" 页面),并向它提出几个请求, 系统性地删除疑似被用作令牌的数据。如果删除某个数据后, 应用程序不再返回会话依赖页面. 即可确定该数据可能为会话令牌(Bp是执行这类测试的有效工具)

    1.2、会话替代方案

    简述:

    并非每一种Web应用程序都使用会话, 一些具备验证机制、功能复杂的安全性至关须要的应
    用程序选择使用其他技术管理状态。常见的会话替代方案有两种


    1、HTTP验证

    各种基于HTTP验证技术(基本、摘要、NTLM验证等)的应用程序有时避免使用会话。在HTTP验证中, 客户端组件使用HTTP消息头通过浏览器直接与验证机制交互, 而不是通过包含在任何单独页面中的针对特定应用程序的代码与验证机制交互。

    一旦用户在浏览器对话框中输入证书, 浏览器将会在随后向同一服务器提出的每个请求中重复提交这些证书(或直复执行任何必要的握手),等同于应用程序使用基于HTML表单的验证, 并在每个应用程序页面插入一个登录表单, 要求用户通过他们执行的每一项操作重复验证自己的身份。

    如果使用基于HTTP的验证, 应用程序可以不必使用会话, 而通过多个请求重复确定用户身份。然而, 基于因特网的应用程序很少使用HTTP验证。由于会话机制发展完善, 能够提供其他用途非常广泛的功能,实际上, 几乎所有的Web应用程序都采用这种机制

    2、无会话状态机制
    一些应用程序并不发布会话令牌管理用户与应用程序的交互状态,而是传送所有必要数据(一般保存在cookie或隐藏表单字段),由客户端管理状态。这种机制以类似于ASP.NETviewState的方式使用无会话状态。为保证这种机制的安全,必须对通过客户端传送的数据加以适当保护。这通常要求建立一个包含所有状态信息的二进制巨对象,并使用一种公认的算法对这些数据进行加密或签名。还必须在数据中包含足够的上下文, 以防止攻击者将在应用程序某个位置收集到的状态对象提交到另一个位置,造成某种意外行为。应用程序还必须在对象的数据中包含一个终止时间, 执行与会话超时相同的功能。


    过程:

    1、如果应用程序使用HTTP验证, 它可能并不执行会话管理机制。使用前面描述的方法分析任何可能是令牌的数据的作用。

    2、如果应用程序使用无会话状态机制, 通过客户端传送所有必要数据进行状态维护, 有时可能很难检测出这种机制

    但如果发现下列迹象, 即可确定应用程序使用这种机制

    向客户端发布的可能令牌的数据相当长(>=100B)

    应用程序对每个请求做出响应, 发布一个新的类似令牌的数据。

    数据似乎被加密(因此无法辨别其结构)或包含签名(由有意义的结构和几个字节的无意义二进制数据组成)

    应用程序拒绝通过多个请求提交相同数据的做法

    3、如果相关证据明确表明应用程序并未使用会话令牌管理状态, 那么描述的任何攻击都不可能达到其目的。最好动手去寻找其他严重的漏洞, 如访问控制不完善或代码注入。

  • 相关阅读:
    数据库系统的三级模式和二级映射
    仿IOS滑动屏幕关闭界面实现
    机器学习算法基础--聚类问题的评价指标
    全流量分析应用运行和访问情况
    Spring Cloud Feign
    Flink Dynamic Tables
    tensorflow与GPU版本对应安装问题
    aws入门实践-Cloud9的安装和使用
    若依框架自用心得体会
    人工智能知识全面讲解:自然语言处理概述
  • 原文地址:https://blog.csdn.net/qq_53079406/article/details/126337029