安全测试 —— 越权漏洞

1.越权漏洞介绍

越权漏洞是指攻击者通过各种手段,绕过系统的权限控制,获得未被授权的访问权限,从而实现对系统的非法操作。

2.越权漏洞的产生原因

1.后台应用没有做权限控制,或仅仅在菜单、按钮上做了权限控制,导致恶意用户可以猜测其他管理页面的URL或者敏感的参数信息,从而访问或控制其他角色用户的数据和页面。

2.验证权限不足,例如通过登录后即可验证用户的身份,从而不会做下一步验证,最后导致越权。

3.开发人员对数据的增、删、改、查时对客户端请求的数据过分相信而遗漏了权限的判定,由于服务区端在接受到请求数据进行操作时,没有判断数据的所属人而导致的越权数据访问漏洞。

3.越权漏洞的危害

越权漏洞的危害主要表现在以下几个方面:

1.泄露敏感信息:攻击者可以通过越权漏洞获取到未被授权的敏感信息,比如用户信息、交易记录等。

2.篡改数据:攻击者可以通过越权漏洞修改系统中的数据,比如更改账户余额、修改订单状态等。

3.执行非法操作:攻击者可以通过越权漏洞执行系统中未被授权的操作,比如删除数据、创建用户等。

4.越权漏洞类型

越权漏洞主要分为水平越权和垂直越权两种类型。

1.水平越权:攻击者尝试访问与自己拥有相同权限的用户资源。例如,用户A和用户B属于同一角色,拥有相同的权限等级,他们能获取自己的私有数据(数据A和数据B),但如果系统只验证了能访问数据的角色,而没有对数据做细分或者校验,导致用户A能访问到用户B的数据(数据B),那么用户A访问数据B的这种行为就叫做水平越权访问。

2.垂直越权:攻击者尝试访问比自己权限高的用户资源。例如,普通用户想要访问管理员的权限,如果系统没有对其进行权限判断,那么就会出现垂直越权漏洞。

未授权访问:攻击者通过各种手段,绕过系统的权限控制,获得未被授权的访问权限,从而实现对系统的非法操作。

5.越权漏洞防御方案

为了防止越权漏洞,可以采取以下几种防御措施:

1.建议使用基于角色访问控制机制来防止纵向越权攻击,即预先定义不同的权限角色,并为每个角色分配不同的权限。每个用户都属于特定的角色,即拥有固定的权限。当用户执行某个动作或产生某种行为时,通过用户所在的角色判定该动作或者行为是否允许。

2.对于水平越权漏洞,需要对数据做细分或者校验,确保只有数据的拥有者才能访问。

3.对于垂直越权漏洞,需要对用户进行身份验证,确保只有拥有相应权限的用户才能访问。

4.对于未授权访问漏洞,需要对系统进行全面的权限控制,确保只有被授权的用户才能访问系统中的资源。

5.定期进行安全审计和

6.在挖掘越权漏洞方面,可以采取以下技巧

1.抓取对目录及类名的请求(URL层)。

2.枚举敏感参数和请求头,例如Cookie、Authorization等。

3.尝试使用其他用户的账号进行操作,例如管理员账号。

4.使用代理工具拦截请求,进行数据包分析,尝试修改请求参数和请求头。

5.模拟攻击者的行为,例如尝试修改URL、请求参数等,查看是否可以访问其他用户的资源。

END绵薄之力

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :