0x00:前言
最近在追一个小姐姐;她是某协会的会员却一直不告诉我名字,于是我....
本故事纯属虚构;如有巧合纯属雷同!
A用户:
xxxxxxx@snapmail.cc
pass:test123 进行了登录
0x01:猜想
1. 它是如何知道返回哪个用户的信息?
这边我进入到后台之后刷新了页面抓取数据包;发现没有id值等进行标注我们当前用户的身份。
0x02:实验
登录到后台之后进行刷新页面抓取数据包
点击用户修改的功能点;发现只有cookie中带有我们用户的标识。
随后我直接修改成我正在调戏的小姐姐
qq邮箱账号:
118xxxxxx5@qq.com
一键发包!!!
好家伙直接明文显示密码?
0x03:疑问
1. Id值有一部分是可以直接查看用户的名字;但是为什么我注册的两个账户只提示了激活成功?
0x04:总结
由于服务器端对客户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定导致修改相关参数就可以
拥有了其他账户的增、删、查、改功能,从而导致逻辑漏洞中的越权漏洞。
进行修复的方式也很简单:
1. 对于可控参数进行严格的检测与过滤。
2. 不要直接使用对象的实名与关键字。
3. 服务端对请求的数据和当前用户身份做校验。
4. 知道哪些数据对哪些用户;哪些操作不应该由哪些用户来操作。
越权漏洞可以划分为:平行越权、垂直越权、交叉越权。