WEB 渗透之越权

越权

一、介绍

  1. 定义:
    1. 水平越权: 使用 A 账号登陆到 B 账号
    2. 垂直越权: 使用普通用户账号获取到管理员账号的权限

二、 产生原理

  1. 前端安全造成: 界面
    判断用户等级后,代码界面部分进行可选显示
  2. 后端安全造成: 数据库
    管理员和普通用户同一个表,设置级别列
    如果在访问数据包中有传输用户的编号、用户组编号或类型编号的时候,那么尝试对这个值进行修改,就是测试越权漏洞的基本

三、漏洞

image-20220804112008831

1. 水平越权

  1. 介绍: 水平权限攻击,也叫做访问控制攻击,服务器在接收到用户请求,修改某条数据时,没有对请求者进行检查,或者只是简单的从用户提交的表单中获取 userid, 导致攻击者可以修改不属于自己的数据。在所有更新语句中,都可能产生这个漏洞

  2. 攻击:
    示例: 服务器从用户提交的表单中获取发送请求的请求者 userid , 一般都是隐藏域,但是我们可以拦截请求包对 useid 数据进行修改,从而可以修改不属于的自己的信息

  3. 防御:

    从用户的加密认证的 cookie 中获取当前用户的 id, 并且在执行的 sql 语句中加入当前用户的 id 作为条件语句,由于 cookie 是加密的,所以攻击者无法修改加密信息

2. 垂直越权

  1. 介绍: 垂直权限攻击又叫权限提升攻击,原理是 WEB 应用没有做权限控制或仅仅只在菜单上做了权限通知,导致恶意用户只要猜测其他管理页面的URL,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。

  2. 攻击:
    示例:

    <tr><td><a href="/user.jsp">管理个人信息</a></td></tr>
    <%if (power.indexOf("administrators")>-1){%>
    <tr><td><a href="/userlist.jsp">管理所有用户</a></td></tr>
    <%}%>
    

    ​ 攻击者只需要猜中管理所有用户的页面url就可以越权操作了。

  3. 防御:
    只需要在每个页面加载之前进行权限验证

4、相关知识点

1. Cookie/Session 机制详解

Cookie/Session 机制详解

写的很好,自己总结也是 CV ,就不浪费篇幅了

2. 基于 Token 的身份验证

  1. 使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录状态,大概流程如下:

    1. 客户端使用用户名跟密码请求登录
    2. 服务端收到请求,去验证用户名和密码
    3. 验证成功后,服务端会签发一个 Token, 再把这个 Token 发送给客户端
    1. 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
    2. 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
      okie 里或者 Local Storage 里
    3. 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
    4. 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值