《网络安全学习》 第八部分-----越权漏洞详解

越权漏洞是Web应用程序中一种常见的安全漏洞。它的威胁在于一个账户即可空指全站用户数据。当然这些数据仅限于存在漏洞功能对应的数据。
越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查的时候对客户端请求的数据过分相信而遗漏了权限的判断。所以测试越权就是和开发人员拼细心的过程。

第一章:水平越权

水平权限漏洞一般出现在一个用户对象关联多个其他对象(订单、地址等)、并且要实现关联对象的 CURD1 的时候。开发容易习惯性的在生成的CRUD表单(或AJAX请求)的时候根据认证过的用户身份来找出其有权限的被操作对象id,提供入口,然后让用户提交请求,并根据这个id来操作相关对象。在处理CRUD请求时,往往默认只有有权限的用户才能带的入口,进而才能操作相关对象,因此就不再校验权限了。可悲的是大多数对象ID都被设置为自增整型,所以攻击者只要对相关id加1、减1、直至遍历,就可以操作其他用户所关联的对象了。

1.1 水平越权常出现的位置 :

  • 下单成功之虎的订单产查看处
  • 收货地址、删除和添加
  • 下单时候的地址修改
  • 等等

1.2 案例场景
《网络安全学习》 第八部分-----越权漏洞详解_第1张图片
《网络安全学习》 第八部分-----越权漏洞详解_第2张图片
1.3 水平越权的产生条件

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

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

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

第二章:垂直越权

垂直越权是不同级别之间或不同角色之间的越权。垂直越权又分为向上越权和向下越权。比如,某些网站,像发布文章、删除文章等操作输入管理员该做的事情。假设一个匿名用户也可以做相同的事情,这就叫做向上越权。向下越权是一个高级用户可以访问低级用户的信息。

《网络安全学习》 第八部分-----越权漏洞详解_第3张图片
《网络安全学习》 第八部分-----越权漏洞详解_第4张图片

2.1垂直越权

产生条件:
1.通过隐藏URL实现控制访问
有些程序的管理页面只有管理员才显示,普通用户看不到,利用URL实现访问控制,但URL泄露或被而已攻击者猜到后,会导致越权攻击。
2.多阶段功能
多阶段功能是一个功能有多个阶段的实现,例如修改密码,可能第一步是验证用户身份信息,号码验证码类的。当验证成功后,跳到第二步,输入新密码,很多程序会在这一步不在验证用户身份,导致恶意攻击者通过抓包直接修改参数值,导致可修改任意用户密码。
3.平台配置错误
一些程序会通过控件来限制用户的访问,例如后台地址,普通用户不属于管理员组,则不能访问。但当配置平台或者配置控件错误时,就会出现越权访问。

第三章:越权防护

《网络安全学习》 第八部分-----越权漏洞详解_第5张图片
3.2 越权防护
1.类似于这种请求,例如查看用户信息等,不能只根据用户id去搜索,应该再次进行身份验证。
2.可以从用户的加密认证cookie中获取当前用户id,防止攻击者对其修改。或在session、cookie中加入不可预测猜解的user信息。
3.在每个页面加载前进行权限认证
4.特别敏感操作可以让用户再次输入密码或者其他验证信息。

【网络安全学习】系列教程

《网络安全学习》第一部分-----初识OWASP
《网络安全学习》第二部分-----SQL注入学习
《网络安全学习》第三部分-----XSS攻击系列学习
《网络安全学习》第四部分-----SSRF服务器端请求伪造
《网络安全学习》第五部分-----远程代码执行漏洞
《网络安全学习》 第六部分-----文件上传漏洞
《网络安全学习》 第七部分-----跨域资源共享(CORS)漏洞
《网络安全学习》 第八部分-----《网络安全学习》 第八部分-----越权漏洞详解
《网络安全学习》 第九部分----CSRF(跨站请求伪造)漏洞详解


  1. crud是指在做计算处理时的增加(Create)、读取查询(Read)、更新(Update)和删除(Delete)几个单词的首字母简写。crud主要被用在描述软件系统中数据库或者持久层的基本操作功能。
    ---------------- 摘自:百度百科 ↩︎

你可能感兴趣的:(开发栈----网络安全学习)