1. 前言
未授权漏洞是指Web应用程序未能有效限制用户访问权限,导致攻击者能够访问本不应被其查看或操作的资源。这种漏洞常见于身份验证和授权机制不严密的系统中,可能导致敏感数据的泄露或系统的恶意操作。
2. 漏洞产生原因
未授权漏洞的产生原因主要包括:
- 缺乏有效的权限控制:未对用户角色和权限进行严格管理,导致普通用户能够访问管理员或其他用户的资源。
- URL 参数未验证:应用程序未对请求中的URL参数进行验证,攻击者可通过修改参数直接访问敏感数据。
- 会话管理不当:会话令牌未能妥善管理,可能被攻击者窃取并用于未授权访问。
- 错误的业务逻辑:应用程序的业务逻辑设计不当,未能有效限制用户的操作范围。
3. 漏洞的危害
未授权漏洞可能导致的危害包括:
- 数据泄露:攻击者可以访问敏感数据,如用户信息、财务记录等。
- 账户接管:未授权访问可能导致用户账户被篡改或删除。
- 服务中断:攻击者可能利用未授权访问进行恶意操作,导致系统不可用。
- 声誉损害:企业因未授权漏洞导致的数据泄露事件可能对品牌形象造成严重影响。
4. 针对未授权漏洞的测试技巧
4.1 聚焦敏感资源
- 确定系统中需要保护的敏感资源,如管理面板、用户数据等,重点测试这些资源的访问控制。
4.2 检查角色和权限
- 测试不同用户角色的权限,确认是否存在越权访问的情况。
4.3 分析 URL 和请求参数
- 通过修改请求的URL和参数,尝试访问本不应被允许的资源,观察系统的响应。
5. 漏洞利用前准备
5.1 信息收集
- 确定目标网站的用户角色和权限模型,记录所有相关的请求和响应。
- 了解系统的业务逻辑,识别可能的未授权访问点。
5.2 初步测试
- 尝试使用普通用户账户访问管理员资源,观察是否能够绕过权限限制。
5.3 模拟攻击
- 如果直接测试失败,尝试使用不同的用户角色进行访问,确认权限控制的有效性。
实战操作教学
案例1:某高校实验仿真平台存在未授权漏洞
打开首页:

发现需要登录,可以注册。 点击注册
注册用户为admin1234 密码为admin123 登录


当点击到用户的时候,发现有弹窗,应该是有人打过这个站,然后插的存储型xss

用户这里发现可以查看所有用户, 随便点击一个,我这里带你的是166这个 也就是第五个

然后发现这里链接里面拼接的uid也是5 修改id 查看是否可以遍历。

成功遍历,这里打开浏览器无痕模式看看 是否有未授权也可以遍历

无痕模式也能访问,那么这里极大可能存在未授权访问,这里用bp的js查看插件,看到有api字样,拼接 一下

同时 在history里面


响应里面有敏感信息

/api/v1/user?split=,&get_users_info&autoids=788

这里id为788
无痕访问看看

发现unicode编码了,里面有cardid字样,解码看看

发现里面有学生姓名,身份证 还有邮箱。 浏览器也能未授权访问直接获取学生的信息。 修改id 进行爆破一下看看

设置payload 进行爆破

利用插件可以知道 有手机号+身份证号+邮箱泄露 有部分是用户名

只需要修改id参数 就可以遍历出学生信息。可以查到性别 姓名 手机号 身份证号 邮箱等敏感信息


未授权接口: /user/userItem.html?pid= (http://xxxxx.com:9800//user/userItem.html?pid=488) 用户id查询




/api/v1/upload?type=office&import_user 敏感路径泄露


/api/v1/log 登录日志

/api/v1/param 数据库信息泄露 但是好像利用不了

暴露了数据库用户 密码 端口 分别为 root root 3313

以上便是未授权漏洞影响所可引发的一系列安全问题,再此实战中甚至引起了数据库的泄露这个后果是十分严重的,下张将再会为大家讲几个简单的实战操作,欢迎大家关注一下