- 越权漏洞原理
当用户发出请求后,服务器在处理请求时,没有对该用户的操作进行权限的判定,从而导致黑客利用该漏洞,达到查看、修改、增加、删除等不属于自己权限范围内的数据。
系统虽然存在访问控制机制,但存在缺陷,使得一个已获取权限的用户能够访问其被授予权限之外的资源或执行其不被允许的操作。(有门有锁,但锁坏了或你找到了钥匙)。
- 挖越权漏洞的思路?
修改各类ID,请求参数,探测是否能获取所需其他用户的信息。
- 越权漏洞分类
水平越权:同级别账号进行增删改查等操作。角色权限相同的用户
垂直越权:低权限用户对高权限用户进行增删改查等操作。不同角色权限
- 越权漏洞防御?
1、前后端同时对用户输入信息进行校验,双重校验机制
2、执行关键操作之前必须验证用户身份,验证用户是否具备操作数据的权限
3、特备敏感操作可以让用户再次输入密码或其他验证信息。
4、可以从用的加密认证cookie中获取当前用户id,防止攻击者对其修改,或者在session、cookie中加入不可预测、不可猜解的user信息。
5、直接对象引用的加密ID、防止攻击者枚举ID,对敏感数据特殊化处理
6、永远不要相信来自用户的输入、对于可控参数进行严格的检查和过滤。
- 越权漏洞产生的原因?
1、URL泄露
2、直接对象引用
3、多阶段功能
4、静态文件
5、平台配置错误
- 越权漏洞危害?
1、未授权访问:
2、信息泄露:敏感信息泄露、影响关键业务数据
3、恶意操作:进行数据篡改、删除文件、插入恶意代码影响系统正常运行和数据完整性
- 常见的越权存在那些地方
一般越权漏洞容易出现在权限页面(需要登录的页面)增删改查的地方,当用户对权限页面内的信息进行这些操作时,后台需要对当前用户权限进行校验,看其是否具备操作的权限。
1、所有用户信息查询,修改,等页面
2、网上银行的余额,普通网站的个人信息查询修改页面
3、涉及到数据库交互的地方。
- 越权漏洞测试
1、找到所有需要登录后才能访问的页面和功能。
2、枚举用户角色:确定应用存在那些不同的用户角色(如:普通用户、VIP用户、内容编辑员、系统管理员等)。如果可以注册、尝试注册所有类型的账户。
3、映射功能与参数:使用浏览器开发者工具F12的网络面板,记录当前用户操作应用时产生的所有HTTP请求。重点关注:URL路径、请求参数(GET/POST)、HTTP头部(如cookie,x-User-ID等)任何看起来像唯一标识的参数都需要测试(如user_id=123,account_id=456,docid=789)。
4、水平越权:修改唯一标识,使用用户A,访问个人资料页面,观察返回内容,修改URL请求参数,观察响应,漏洞存在发返回用户B信息,漏洞不存在,返回403、、404、无权访问等。(url参数、POST请求、HTTP请求头、API端点等)
垂直越权:使用低权限用户登录,访问或操作一个本应该只有高权限用户才能访问的功能。拼接常见的管理员路径。尝试执行管理操作,例如修改POST请求将另一个用户提升为管理员,或者删除其他用户的内容。
5、绕过前端控制:作为一个普通用户,打开浏览器开发者工具,将某个灰色的“删除”按钮从 disabled="true" 改为 disabled="false",然后点击它。同时用Burp Suite拦截这个请求,如果请求成功发送* ****到后端并被处理,则存在漏洞。
访问控制检查必须在服务器端执行,前端检查只是为了用户体验,极易被绕过。

- 未授权访问漏洞原理?
1、系统完全缺乏对特定资源或功能的访问控制保护,导致任何用户(甚至无需登录的游客)都可以直接访问本应该需要权限才能访问到的资源。(即没有门禁、也没有门上锁)。
- 未授权访问漏洞利用
1、Redis未授权访问:Redis服务器绑定在0.0.0.0且没有设置密码,攻击者可以直接远程连接并操作数据库。
2、运维监控系统未授权:http://target.com/actuator/health这类端点没有做权限校验,导致任何人都能查看服务器健康状态等敏感信息.
3、API接口未鉴权:http://api.example.com/v1/admin/users(获取所有用户列表的接口)后端没有验证请求者的身份和权限,导致任何人发送GET请求都能拿到用户列表。
- 常见的未授权访问漏洞
1、管理面板未授权访问,如/admin、/manage等路径直接访问。
2、数据库管理系统未授权访问,如mysql数据库3306端口。
3、web服务器目录遍历漏洞,../可遍历访问敏感文件。
4、数据库备份文件任意下载
5、日志文件未授权访问,通过/logs路径下载日志。
- 越权与未授权访问漏洞对比

posted @
2024-12-12 16:09
予遂计划
阅读(
182)
评论()
收藏
举报