逻辑越权之水平垂直越权

1.水平越权

通过替换身份标识(如ID),使A账号访问或操作相同权限的B账号的数据。

2.逻辑越权

低权限账号发送高权限请求,从而执行高权限操作。

3.未授权访问

删除请求中的认证信息后,仍能访问或执行受限操作。

pikachu说的是:

如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。

一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。

因此,在在权限管理中应该遵守:

1.使用最小权限原则对用户进行赋权;

2.使用合理(严格)的权限校验规则;

3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;

你可以通过"Over permission"对应的测试栏目,来进一步的了解该漏洞。

1.水平越权

测试账号:

lucy/123456,lili/123456,kobe/123456

使用其中一个登录,这里我用的老大kobe/123456

http://pikachu:8000/vul/overpermission/op1/op1_mem.php

进入后url:http://pikachu:8000/vul/overpermission/op1/op1_mem.php?username=kobe&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF

对比前面的url发现:这里多了个?username=kobe和靶场自身的提示lucy/123456,lili/123456,kobe/123456

尝试把kobe换成其中的这两个其中之一试试

http://pikachu:8000/vul/overpermission/op1/op1_mem.php?username=lili&submit=%E7%82%B9%E5%87%BB%E6%9F%A5%E7%9C%8B%E4%B8%AA%E4%BA%BA%E4%BF%A1%E6%81%AF

发现实现了同阶级的水平越权,得到了lili的信息

2.垂直越权

原本的url:http://pikachu:8000/vul/overpermission/op2/op2_login.php

得到提示:这里有两个用户admin/123456,pikachu/000000,admin是超级boss

输入一个账号进去看到会员admin管理员的后台:

然后在输入pikachu的

分别转包两个人的数据包看看

发现这两个的区别是:

用户身份不同

第一条:username=admin&password=123456 - 尝试以管理员账户登录

第二条:username=pikachu&password=000000 - 尝试以普通用户账户登录

会话Cookie不同

第一条:PHPSESSID=28f3b0a4b4205e89cb5cec9a1a95ba4c

第二条:PHPSESSID=ff3c3da8ca09c32df1b50e745e445f54

然后我想用pikachu用户来添加数据从而实现越权的实现

尝试修改pikachu的cooike改成admin用户的cooike然后来看是否能够实现添加数据

先用admin用户来添加数据,抓个他的包

此时的PHPSESSID=0f29e2e392b295f5eb34ddb63d6a0ec5

然后把PHPSESSID=0f29e2e392b295f5eb34ddb63d6a0ec5换成普通用户的PHPSESSID=ff3c3da8ca09c32df1b50e745e445f54

发现了两条数据

说明成功

3.墨者水平-身份认证失效漏洞实战(漏洞成因)

使用bp的authz工具来实现判断是否存在越权漏洞然后再来找flag

1.这道题 **请获取钻石代理"马春生"的个人信息!**已知系统测试账户(test/test)。

2.有越权这种漏洞(因为你测试用户想要去得到管理员用户的数据一般来说是不可能实现的)

输入前的url:http://119.3.165.128:43491/index.php?a=login

输入test用户的:http://119.3.165.128:43491/user_info.php

3.抓包看见:

Cookie: uid=test; mid=6927071f788211ee17211be0b89ef1e6; PHPSESSID=9dqovqtj6pc63h9i2rmcq3n4e3

Upgrade-Insecure-Requests: 1

Priority: u=0, i

user=test&password=test&login_submit=

Cookie: uid=test; mid=6927071f788211ee17211be0b89ef1e6; PHPSESSID=9dqovqtj6pc63h9i2rmcq3n4e3

这两个很有可能是关键,因为我输入的test,uid的值就是test,然后这个mid是啥,可以去修改试试

4.在url中输入不同的uid,mid,card_id

知道test的card_id然后查看

<img src="static/img/20128880316.jpg" width="50" height="50" title="钻石代理">

更改card_id值为20128880316发包得到账号和密码

解码得到账号和密码:

  • m233241
  • 9732343

尝试登录

得到key:

|----------------------------------|
| mozheb9af3a7dca5f24fc306d511de0e |

相关推荐
HackTwoHub10 小时前
ARL灯塔重构版:支持APP/小程序/WEB资产同步扫描
人工智能·安全·web安全·网络安全·小程序·重构·自动化
数据知道13 小时前
网络安全工具箱:100+ 工具分类速查与选型建议
安全·web安全·网络安全
txg66614 小时前
路径级持久化模糊测试:XSSky 如何精准击破 XSS 漏洞
深度学习·安全·web安全·网络安全·xss
技术不好的崎鸣同学17 小时前
[ACTF2020 新生赛]Include 思路及解法
算法·安全·web安全
湮w17 小时前
JavaWeb(三)JavaScript详细讲解
java·javascript·web
你觉得脆皮鸡好吃吗17 小时前
OAuth学习 下
网络·安全·web安全·网络安全学习
飞斯柯罗18 小时前
[飞斯柯罗] 想了解什么是网络安全资产和 KMS?
网络·安全·web安全
kali-Myon1 天前
某校园门禁系统高危 SQL 注入漏洞挖掘复盘
数据库·sql·安全·web安全
还是鼠鼠2 天前
AI掘金头条新闻系统 (Toutiao News)-缓存相关推荐新闻
后端·python·mysql·fastapi·web
曲幽2 天前
从卡顿到丝滑:FastAPI 调用外部 API 的正确姿势(httpx 实战)
python·fastapi·web·async·httpx·client·await·requests·aiohttp