越权漏洞是指在一个系统或应用程序中存在某种不当的访问权限,使得攻击者可以获得比其应该拥有的权限更高的权限。这种漏洞可能允许攻击者执行未经授权的操作,例如访问他人的敏感数据、修改系统设置、执行恶意代码等。越权漏洞通常是由于设计或实现上的错误引起的,攻击者可以利用这些错误来绕过系统的安全机制。
越权漏洞的危害性取决于攻击者能够获得的权限级别。如果攻击者能够获得系统管理员的权限,他们可能对整个系统进行完全控制,并且能够执行危险的操作。即使是较低权限的越权漏洞,也可能导致敏感数据泄漏或未经授权的访问。
总的来说就是,普通用户(攻击者)绕过权限限制或者在权限限制不够严格的i情况下去访问原来不应该访问到的资源
1. 越权漏洞的原理
越权漏洞是指攻击者利用系统中存在的安全漏洞,获得超出其权限范围的权限。其原理可以分为以下几个方面:
- 1. 充分了解系统结构:攻击者需要对目标系统的结构和权限模型有充分的了解,以便确定可能存在的越权漏洞点。
- 2. 错误的访问控制:系统在设计或实现过程中,存在错误的访问控制机制,例如缺乏对用户身份的有效验证、不正确地配置了权限检查等。
- 3. 网络协议漏洞:某些网络协议可能存在漏洞,攻击者可以通过利用这些漏洞来绕过系统的访问控制机制,获取越权权限。
- 4. 文件系统漏洞:系统中的文件系统可能存在漏洞,攻击者可以通过篡改或操纵文件系统的配置文件或权限文件等,来实现越权操作。
- 5. API调用漏洞:系统中的API(Application Programming Interface)接口可能存在漏洞,攻击者可以通过调用这些API接口,绕过访问控制机制,实现越权操作。
总之,越权漏洞的原理是攻击者利用系统中存在的安全漏洞,通过越过正常的访问控制机制,获取超出其权限范围的访问权限。
2. 越权漏洞分类
- 平行越权(横向越权):相同用户的权限下,可以互相访问
- 垂直越权(纵向越权):低权限用户越权使用高权限用户的功能。
- 垂直越权的前提:
- 必须知道,增删改查的数据包,然后通过伪造数据包增删改查
- 垂直越权的前提:
3. 常见越权方式
- 通过修改get传参来越权访问同级用户的信息
- 修改post传参进行越权
- 修改cookie传参进行越权
4. pukachu靶场-水平越权
进入pukachu靶场,找到越权题Over Permission,点击右上角: 提示一下 会提示测试的3个账号和密码
随便登录一个账号登录后,点击查看个人信息。会发现会发送一个get请求,然后把当前用户的信息展示到页面中。当前用户的 lucy
尝试替换 lucy 参数为 lili,看看能不能访问到lili的个人信息
可以看到,同级别等级下的用户lucy,能够访问 lili 用户的信息。
通过修改get传参来越权访问同级用户的信息,同级别越权访问其他用户资源也称为 水平越权。
5. pukachu靶场-垂直越权
首先要提前知道管理员的数据包,所以这里就要登录一下admin用户,admin用户中有一个添加用户的接口,
通过f12拿到添加用户的接口,
然后复制fetch格式出来到控制台,然后退出admin用户,登录 pikachu 用户,然后在控制台修改一下要创建的用户,然后提交。发现提交成功了。这就是垂直越权。
由于以上是在控制台使用fetch请求,所以当普通用户登录后,cookie会保存在浏览器上。所以fetch请求中没具体显示cookie信息。
如果你使用的是Burp来进行抓包,那么你需要将拿到的管理员接口中的cookie替换为你登录pikachu普通用户后的cookie,