大家好,又见面了,我是你们的朋友全栈君。
一、平行越权
攻击者请求操作(增删改查)某条数据时,web应用程序没有判断该条数据的所属人,或者在判断数据所属人时直接从用户提交的表单参数中获取,例如用户id等,导致攻击者可以自行修改参数,操作获取不属于自己的数据。
测试方法:在发送请求时观察请求参数,尝试修改用户id或者其他参数验证是否能查看不属于自己的数据,进行增删改查,若成功则存在平行越权的漏洞。
二、纵向越权
和平行越权相似,但是纵向越权是可以请求更高权限的操作,比如普通用户可以进行管理员的操作权限。
测试方法:查看请求中是否有身份标识,比如userid,角色id之类的,有的话尝试修改,重新请求更高权限的操作。不过之前遇到一些很奇葩的系统,普通用户进去可以新建管理员的用户,然后直接用管理员用户账号登录。
之前也看过别人写了个越权的自动化工具,原理是先用管理员用户进行一次爬虫,然后普通用户进行一次爬虫,最后对比两者爬取的url判断是否存在越权访问的页面。
三、越权访问漏洞的防范
1、永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤
2、执行关键操作前必须验证用户身份
3、直接对象引用的加密资源id,防止攻击者枚举ID
4、前后端同时校验
5、调用功能前验证用户是否有权限调用相关功能
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150137.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...