越权漏洞之垂直越权和水平越权

文章目录

  • 越权漏洞之垂直越权和水平越权
  • 前言
  • 一、什么是越权漏洞以及漏洞产生的原因
    • 1. 什么是越权漏洞
    • 2. 漏洞产生的原因
  • 二、水平越权和垂直越权以及防御方法
    • 1.水平越权和垂直越权
    • 2.越权漏洞的防御方法
  • 总结

前言

一、什么是越权漏洞以及漏洞产生的原因

1. 什么是越权漏洞

越权漏洞指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。例如在图1.1中购物系统中A用户可以查询到B用户的订单信息,是为水平越权;普通用户获取管理员权限的功能,是为垂直越权。

2. 漏洞产生的原因

通常情况下,一个 Web 程序功能流程是登录 - 提交请求 - 验证权限 - 数据库查询 - 返回结果。如果验证权限不足,便会导致越权。常见的程序都会认为通过登录后即可验证用户的身份,从而不会做下一步验证,最后导致越权。

  1. 通过隐藏 URL
    实现控制访问有些程序的管理员的管理页面只有管理员才显示,普通用户看不到,利用 URL 实现访问控制,但 URL 泄露或被恶意攻击者猜到后,这会导致越权攻击。

  2. 直接对象引用
    这种通过修改一下参数就可以产生水平越权,例如查看用户信息页面 URL 后加上自己的 id 便可查看,当修改为他人的 ID 号时会返回他人的信息,便产生了水平越权。

  3. 多阶段功能
    多阶段功能是一个功能有多个阶段的实现。例如修改密码,可能第一步是验证用户身份信息,号码验证码类的。当验证成功后,跳到第二步,输入新密码,很多程序会在这一步不再验证用户身份,导致恶意攻击者抓包直接修改参数值,导致可修改任意用户密码。

  4. 静态文件
    很多网站的下载功能,一些被下载的静态文件,例如 pdf、word、xls 等,可能只有付费用户或会员可下载,但当这些文件的 URL 地址泄露后,导致任何人可下载,如果知道 URL 命名规则,则会便利服务器的收费文档进行批量下载。

  5. 平台配置错误
    一些程序会通过控件来限制用户的访问,例如后台地址,普通用户不属于管理员组,则不能访问。但当配置平台或配置控件错误时,就会出现越权访问。

二、水平越权和垂直越权以及防御方法

1.水平越权和垂直越权

(1)水平越权
我们进行pikachu实验,我们点击提示,登录用户信息

我们先登录lucy的账号

然后退出,利用其他用户名进行登录,我们之修改用户名,不修改密码,登录lili用户名

发现登录成功,这就是水平越权的漏洞所在,同一级用户就可以随意登录信息。
(2)垂直越权
我们进行实验,使用管理员账号登录,admin/123456

我们添加一个用户

利用burp抓包

进行重发

我们抓到了管理员的cookie值
Cookie: safedog-flow-item=; security_level=0; PHPSESSID=90b8shi374mrs4uojckgphl6k2

接下来我们抓一下普通用户的登录页面


也抓到了普通用户的cookie值
Cookie: safedog-flow-item=; security_level=0; PHPSESSID=ches43d19vofa62r9iaqg597b6

这时我们就可以进行垂直越权了,我们将普通 用户的cookie值复制到管理员的添加用户的页面,并且添加test1用户,进行重发,发现成功登录了

我们在回到普通用户登录的页面,进行查看test1用户添加进去了吗

发现已经添加进去了,这是利用了不同级别的用户之间的越权漏洞,利用cookie值的修改进行绕过添加用户信息,实验结束。

2.越权漏洞的防御方法

1、前后端同时对用户输入信息进行校验,双重验证机制
2、 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
3、特别敏感操作可以让用户再次输入密码或其他的验证信息。
4、可以从用户的加密认证 cookie 中获取当前用户 id,防止攻击者对其修改。或在 session、cookie 中加入不可预测、不可猜解的 user 信息
5、直接对象引用的加密资源ID,防止攻击者枚举ID,敏感数据特殊化处理
6、永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

总结

本次实验简单介绍了越权漏洞的原理以及利用方法,在实际渗透过程中,和逻辑漏洞一样,都可以进行手工测试,因为这些漏洞扫描器是无法识别出来的,只能通过我们手工测试,去利用,从而修改用户的信息。

渗透测试-越权漏洞之垂直越权和水平越权相关推荐

  1. 渗透测试常见漏洞描述及修复建议

    弱口令 漏洞描述 由于系统中存在有弱口令,导致攻击者通过弱口令可轻松登录系统中,从而进行下一步的攻击,如上传webshell,获取敏感数据! 另外攻击者利用弱口令登录网站管理后台,可任意增删改等操作, ...

  2. APP渗透测试 网站漏洞检测以及如何防止攻击

    很多公司都有着自己的APP,包括安卓端以及ios端都有属于自己的APP应用,随着互联网的快速发展,APP安全也影响着整个公司的业务发展,前段时间有客户的APP被攻击,数据被篡改,支付地址也被修改成攻击 ...

  3. 渗透测试和漏洞扫描的区别

    因为最近在探究关于工控安全的研究课题,在渗透测试和漏洞扫描这两个概念上有点区分不太清楚,查了很多资料都觉得不够清楚,难以理解,于是在FreeBuf.COM上看到了一篇文章-<浅谈渗透测试与漏洞扫 ...

  4. 渗透测试网站漏洞代码分析与检测

    渗透测试这些是经常谈到的问题了,我觉得当有了渗透接口测试之后你就会发现渗透测试这一方面也就是:1.基本漏洞测试:2.携带"低调"构思的心血来潮:3.锲而不舍的信念.我们SINE安全 ...

  5. JAVA开发运维(关于渗透测试与漏洞修复)

    对于C端的网站,H5,小程序或者app都需要进行渗透测试. 渗透测试是模拟真实黑客的攻击手段,对目标网站或主机进行全面的安全评估. 与黑客攻击不同,渗透测试的目的是尽可能多地发现安全漏洞,而真正的黑客 ...

  6. 渗透测试常见漏洞描述以及修复建议

    1.Apache样例文件泄漏 漏洞描述 apache一些样例文件没有删除,可能存在cookie.session伪造,进行后台登录操作 修复建议 1.删除样例文件 2.对apache中web.xml进行 ...

  7. 渗透测试-逻辑漏洞出现场景、利用方式总结

    逻辑漏洞出现场景.利用方式总结 文章目录 逻辑漏洞出现场景.利用方式总结 一.前台模块 二.密码找回模块 三.登录模块 四.业务逻辑层模块 五.案例分享 1.逻辑支付 六.漏洞思考组合拳 1.Self ...

  8. web应用水平越权(横向越权)和垂直权限(纵向越权)问题

    1. 基本概念 1.1 横向越权 横向越权:横向越权指的是攻击者尝试访问与他拥有相同(级别或角色)权限的用户的资源. 1.2 纵向越权 纵向越权:纵向越权指的是一个低级别(低权限)攻击者尝试访问高级别 ...

  9. Kali渗透测试之四漏洞映射

     ◆漏洞映射: 根据已经发现的开放端口和服务程序,查找.分析目标系统中存在的漏洞 漏洞映射旨在识别和分析目标环境中的决定性安全缺陷,有时也称为脆弱性评估.它是一种 在IT基础设施的安全控制中探寻已知弱 ...

最新文章

  1. Windows 技巧篇-鼠标指针安装方法,漂亮的鼠标指针推荐
  2. 卸载 nvidia 显卡驱动
  3. mysql批量条件字段_mysql批量更新多条记录的同一个字段为不同值的方法
  4. ado.net操作数据库
  5. java证书不通过,java-证书不会偶尔发送
  6. Spring(一)概述
  7. Codeforces Round #173 (Div. 2)
  8. 拓端tecdat|R语言中自编基尼系数的CART回归决策树的实现
  9. bp matlab预测结果差,BP神经网络 预测 精度差
  10. 问路在何方,路在脚下
  11. 治疗失眠小妙招:按摩百会穴酸枣仁贴肚脐
  12. 三维电子无人机倾斜摄影数字沙盘开发第38课 实现简单的粒子效果
  13. 使用STM8单片机+NTC热敏电阻自制简易温度巡检仪
  14. 那些中国式家庭的小烦恼,我看用AI来解决就“都挺好”
  15. WPF之触发器Triggers
  16. [Git]如何撤销上次commit
  17. Maven使用之packing篇
  18. 许昌一高2021年高考成绩查询,2021年许昌最好的高中排名,许昌重点高中升学率排名...
  19. php api视频教程,PHP开发APP接口视频教程
  20. PL/SQL_高级编程

热门文章

  1. Driller分析与改进(一)
  2. echarts折线图曲线,每个值上面添加小圆点或者小圆圈
  3. 北京理工大学计算机考研资料汇总
  4. 计算机应用基础(专)【9】
  5. 怎么制作地图分布图,如何在地图上画出区域
  6. 前端技术:Vue+elementUI 饿了吗UI+CRUD,创建图书管理系统
  7. ffmpeg 常用命令行 (视频-转码)
  8. 你和csdn是什么关系
  9. oppo手机怎么查计算机记录,oppo怎样查通话记录(oppo手机怎么查以前的通话记录)...
  10. 在Ubuntu下登录qq的时候显示“您已登录xxxxx,不能重复登录”