声明
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
No.1
简介
越权漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得或者未获得低权限用户帐户后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能。常见的越权漏洞有平行越权漏洞、垂直越权漏洞、权限框架缺陷等。
No.2
平行越权
✦攻击者可以访问与他拥有相同权限用户的资源基于用户身份id(用户身份唯一标识)
案例1
首先点击审批中,抓取数据包
我们选择爆破crntDealPesn字段的后三位,
如图所示,可以任意查看所有存在的审批中的记录
案例2(cookie越权)
点击"修改我的资料",漏洞地址为
http://xxx.xxx.com/user.asp?action=modifuser
这里就使用Cookie Editor演示,修改成UserName=ASDZXC,可以看到ASDZXC的个人资料。
修改前
修改后
✦存在Cookie越权,成功查看ASDZXC账户的信息。基于对象id(订单号/流水号等)
案例
首先在电子签订页点击查看功能,抓取数据包
设置爆破后四位的合同号
如下图所示,数据较大的返回包均是存在数据的合同号,可任意查看他人的合同数据
我们任意选择一个存在的合同号,在数据包中进行替换
放过数据包,查看web页面已经变成了他人的合同信息
No.3
垂直越权
✦低权限用户可以做超过本身权限的操作,例如普通用户可以操作管理员才可以使用的功能未认证用户能够访问认证后才可以使用的功能点
案例
漏 洞 url:
http://xxx.xxx.com/weaver/weaver.file.FileDownload? fileid=10000&download=1&requestid=0&desrequestid=0&votingId=0&f_weaver_belongto_userid= &f_weaver_belongto_usertype=
这是某个OA系统下载文件的链接,通过修改fileid的值(fileid的值可以遍历)可以不登录系统直接下载该系统内的文件
✦低权限用户能够访问高权限用户才可以访问的功能
案例
该系统后台修改密码不需要验证原密码,且只通过id判断用户身份,id为1的是admin的账号,我们抓包修
改密码时将id改为1即可成功修改admin的账号
首先点击查看个人信息,抓包查看自己的id值为200,我们将id值修改为1即可成功查看到admin的信息
如图所示,我们已经成功看到admin的信息了,且该处修改密码不需要验证原密码
修改密码,成功修改了admin的登录密码
No.4
权限框架缺陷
应用权限控制框架本身存在缺陷容易被攻陷,会导致权限控制功能完全失效
案例
在某次护网行动中发现的攻击者所使用的漏洞,只要构造特殊的参数就可以无需登录直接访问后台,并且是admin权限
漏洞URL:
http://xxx.xxx.com/HomeSSO.action?userName=YWRtaW4=&autoLoginFlag=0
该网站是一个通用的cms,只要构造特定的userName和autoLoginFlag=0的情况下,即可达成访问url直接进入后台的效果
No.5
修复建议
1.严格限制账户数据互相访问之间的权限校验,用户进行访问操作的凭证(如用户ID、产品号码、订单流水号等)优先采用在服务端关联session或加密后放在session中的方式获取。
2.必须采用表单或其他参数提交用户进行访问操作的凭证(如用户ID、产品号码、订单流水号等)时,应尽可能采用难以猜测的构造方式(增加字母及随机数字等)或采用复杂的加密算法加密后提交,应对客户端提交的凭证与会话的权限进行严格的验证,如提交的产品号码是否为隶属于登录用户的产品号码。