逻辑漏洞和越权(待补充)

逻辑漏洞是什么?

逻辑漏洞就是指攻击者利用业务的设计缺陷,获取敏感信息或破坏业务的完整性。
一般出现在密码修改,越权访问,密码找回,交易支付金额等功能处。

越权漏洞:

字面意思大概就能懂越权漏洞是什么,简单的说就是,攻击着利用在检查授权时出现的纰漏,通过一些绕过手段获得更高权限,从而进行访问,修改,删除等操作其他用户甚至更高权限的数据。

分类

越权分为水平越权和垂直越权:比如你是一名学生,水平越权就是拿到你同学的权限进行操作,垂直越权就是拿到辅导员的权限进行操作;

检测

越权漏洞一般很难用工具检测出来,需要人工来进行判断;
攻击与防御:
需要实例来理解,在这里分享几篇文章
在freebuf搜索Web安全测试中常见逻辑漏洞解析(实战篇)
分别介绍了攻击和防御的思路,里面分别从
订单金额修改;
验证码回传;
未进行登录凭证验证;
接口无限制枚举;
cookie设计存在缺陷;
找回密码存在设计缺陷;
单纯读取内存值数据来当作用户凭证;
七个实例可以加强理解。
关于逻辑漏洞里的越权漏洞文章推荐:
https://www.ddosi.com/p1077/
https://www.bugbank.cn/q/article/598564c1a37d0e403a8b1954.html

我自己在webgoat上做了几道类似与越权漏洞的题目,在这里总结一下,虽然简单但也助于理解:

1.Using an Access Control Matrix(使用访问控制矩阵)

在基于角色的访问控制方案中,角色表示一组访问权限和权限。用户可以被分配一个或多个角色。基于角色的访问控制方案通常由角色权限管理和角色分配两部分组成。基于角色的访问控制方案可能允许用户执行他/她分配的角色不允许的访问,或以某种方式允许向未授权角色提升权限。
一般目标:
每个用户都是允许访问某些资源的角色的成员。您的目标是探索管理此网站的访问控制规则。只有[Admin]组才能访问“Account Manager”资源。
在这里插入图片描述
如图,这题超级无语,随便试一下就出来了,不过有时侯就是这样,要通过不断尝试;
在这里插入图片描述

2.Bypass a Path Based Access Control Scheme(绕过路径访问控制方案)

我是谷歌翻译搞懂要求的,“ root”用户有权访问lesson_plans / English目录中的所有文件。 尝试破坏访问控制机制,并访问不在所列目录中的资源。 选择要查看的文件后,WebGoat将报告是否已授予对该文件的访问权限。 尝试获取的有趣文件可能是tomcat / conf / tomcat-users.xml之类的文件。 请记住,如果使用WebGoat源,文件路径将有所不同。
在这里插入图片描述
其实就是抓包修改file参数内容,更改文件路径,不管是上几级目录我都试了还是报错,后来网上搜了一下说这题很坑,我也就没继续了,反正思路就是这样;
LAB: Role Based Access Control(基于角色的访问控制)
Stage 1: Bypass Business Layer Access Control(阶段1:绕过业务层访问控制)
Stage 2: Add Business Layer Access Control.(阶段2:添加业务层访问控制。)
Stage 3: Breaking Data LayerAccess Control(阶段3:打破数据层访问控制)
Stage 4: Add Data Layer Access Control.(阶段4:添加数据层访问控制。)

第二步和第四步是防御方法,要开发者版本才能做,这里只做第一步和第三步:
在这里插入图片描述
登入tom的个人资料界面发现没有题目要求中的删除功能,点查看文件viewprofile进行抓包修改参数
在这里插入图片描述
在这里插入图片描述
成功了,这里也有助于我们理解水平越权,这里修复方法是通过添加业务层访问控制,个人觉得也可以添加身份认证判断用户身份;
继续第三步:
这里要求我们通过tom查看其他员工资料,同样也算是水平越权;
既然是查看资料自然还是viewprofile然后抓包:
在这里插入图片描述
我们发现有个id参数,也就是说tom的参数是105,怎么样得到其他员工的id呢,这里可以直接登录查看,如果是攻击者可能会利用社会工程学搞到员工的编号从而获取信息,这里Larry的id是101,我们改参直接forward就好:
在这里插入图片描述 至此课程完成,后续遇到有关逻辑漏洞以及权限漏洞的题目会回来补充。