越权漏洞与利用
原理:
在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限,权限检验不严格造成漏洞。
水平越权:
两个相同权限的用户,因为检验不严格造成了A用户可以对B用户的数据进行增删改查。
例图:
实例:首先登录用户A账号进行购买商品,在登陆B购买商品,进行url的修改可以访问到用户A购买的详情页(权限检验不严格),图一为B购买详情页实时登录者为B,图二为A购买详情,但登录者依旧为B用户,图三为当修改url数字时依旧可以看到其他用户的购买信息。
垂直越权:
由于后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户只要猜测其他管理页面的URL或者敏感的参数信息,就可以访问或控制其他角色拥有的数据或页面,达到权限提升的目的。
例图:
实例:
首先我们用管理员用户转移B的帖子,抓包获取cookie数据,再用A用户转移一次进行垂直越权利用。(图一为获取管理员的包数据,图二为已转移页面,图三为A抓包改包进行转移,图四转移成功)
思路:
- 通过隐藏 URL实现控制访问有些程序的管理员的管理页面只有管理员才显示,普通用户看不到,利用 URL 实现访问控制,但 URL 泄露或被恶意攻击者猜到后,这会导致越权攻击。
- 直接对象引用这种通过修改一下参数就可以产生水平越权,例如查看用户信息页面 URL 后加上自己的 id 便可查看,当修改为他人的 ID 号时会返回他人的信息,便产生了水平越权。
- 多阶段功能多阶段功能是一个功能有多个阶段的实现。例如修改密码,可能第一步是验证用户身份信息,号码验证码类的。当验证成功后,跳到第二步,输入新密码,很多程序会在这一步不再验证用户身份,导致恶意攻击者抓包直接修改参数值,导致可修改任意用户密码。
- 静态文件很多网站的下载功能,一些被下载的静态文件,例如 pdf、word、xls 等,可能只有付费用户或会员可下载,但当这些文件的 URL 地址泄露后,导致任何人可下载,如果知道 URL 命名规则,则会便利服务器的收费文档进行批量下载。
- 平台配置错误一些程序会通过控件来限制用户的访问,例如后台地址,普通用户不属于管理员组,则不能访问。但当配置平台或配置控件错误时,就会出现越权访问。
总结:
利用权限检验不严格进行越权操作增删改查等,前提条件就是有管理员的cookie之后根据页面现有的操作按钮菜单等进行越权访问,水平越权可以创建两个账号进行对比实验是否可以利用。