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、计算机基础
获取方式 :