第十节 越权漏洞和身份绕过cookie和session 您所在的位置:网站首页 什么是越权 第十节 越权漏洞和身份绕过cookie和session

第十节 越权漏洞和身份绕过cookie和session

2023-08-25 05:05| 来源: 网络整理| 查看: 265

1. 越权漏洞的定义

  越权漏洞是一种很常见的逻辑安全漏洞。可以这样理解:服务器端对客户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定,导致攻击账号拥有了其他账户的增删改查功能。

 

2.越权漏洞的分类

  平行越权: 就是相同级别(权限)的用户或者同一角色不同的用户之间,可以越权访问、修改或者删除的非法操作。视频中的例子是登录账号后,更改访问界面来获取别人的信息

  垂直越权: 垂直越权是不同级别之间或不同角色之间的越权。视频中的例子为截获admin的数据包,然后将cookie改成自己的cookie

 

3. 身份绕过cookie

  cookie: 我们在浏览器中,经常涉及到数据的交换,比如你登录邮箱,登录一个页面。我们经常会在此时设置30天内记住我,或者自动登录选项。那么它们是怎么记录信息的呢,答案就是今天的主角cookie了,Cookie是由HTTP服务器设置的,保存在浏览器中,但HTTP协议是一种无状态协议,在数据交换完毕后,服务器端和客户端的链接就会关闭,每次交换数据都需要建立新的链接。就像我们去超市买东西,没有积分卡的情况下,我们买完东西之后,超市没有我们的任何消费信息,但我们办了积分卡之后,超市就有了我们的消费信息。cookie就像是积分卡,可以保存积分,商品就是我们的信息,超市的系统就像服务器后台,http协议就是交易的过程。

  cookie分为会话cookie和持久cookie,会话cookie是指在不设定它的生命周期expires时的状态,前面说了,浏览器的开启到关闭就是一次会话,当关闭浏览器时,会话cookie就会跟随浏览器而销毁。当关闭一个页面时,不影响会话cookie的销毁。会话cookie就像我们没有办理积分卡时,单一的买卖过程,离开之后,信息则销毁。

  持久cookie则是设定了它的生命周期expires,此时,cookie像商品一样,有个保质期,关闭浏览器之后,它不会销毁,直到设定的过期时间。对于持久cookie,可以在同一个浏览器中传递数据,比如,你在打开一个淘宝页面登陆后,你在点开一个商品页面,依然是登录状态,即便你关闭了浏览器,再次开启浏览器,依然会是登录状态。这就是因为cookie自动将数据传送到服务器端,在反馈回来的结果。持久cookie就像是我们办理了一张积分卡,即便离开,信息一直保留,直到时间到期,信息销毁。在访问网站的时候 网站有一些业务需要会自动分配一些cookie到浏览上,用来记录用户的行为,如购物车。在WEB安全中存在安全隐患,多数发生在验证登录。不少程序在验证处,判断cookie是否为空,假如不为空 即可登录,cookie可预测。或者盗取别人的cookie来登录。

  session机制采用的是在服务器端保持状态的方案,而cookie机制则是在客户端保持状态的方案,cookie又叫会话跟踪机制。打开一次浏览器到关闭浏览器算是一次会话。说到这里,讲下HTTP协议,前面提到,HTTP协议是一种无状态协议,在数据交换完毕后,服务器端和客户端的链接就会关闭,每次交换数据都需要建立新的链接。此时,服务器无法从链接上跟踪会话。cookie可以跟踪会话,弥补HTTP无状态协议的不足。

 

4. 身份绕过session

  session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。

  当程序需要为某个客户端的请求创建一个session的时候,服务器首先检查这个客户端的请求里是否已包含了一个session标识 - 称为session id,如果已包含一个session id则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来使用(如果检索不到,可能会新建一个),如果客户端请求不包含session id,则为此客户端创建一个session并且生成一个与此session相关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端保存。

  保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发挥给服务器。

  session一般用于登录验证。

  session的什么周期

  1、 默认关闭浏览器,session就会消失。

  2、 在程序中设置session的过期时间

  session是存在于服务器里,cookie是存在客户端。

  session的机制 是会在浏览器生成一个cookie session_id  也会在服务器里生产一个session id文件。假如做身份证认证的时候就会在这个服务器里的文件写入要验证的内容。

  在php里 session的存放位置是 在php.ini里设置的,也可以通过函数设置在其他位置

  session文件一般在/tmp文件夹下

  出现漏洞的情景:

    如果服务器的session-id 存在网站的其他目录,通过扫描目录获取 session 文件。

    如果存放在数据库,可以通注入漏洞获取seesion信息

    获取到session_id 就可以修改cookie 进行提交 验证就可以通过

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有