越权手工测试思路

版权声明: https://blog.csdn.net/Breeze_CAT/article/details/89488226

业务逻辑测试流程——越权测试

越权问题终究还是由权限引起的,所以无论是水平越权还是垂直越权,在测试之前都应将各身份的权限范围梳理清晰。权限由上到下划分明了,如管理员-普通用户-游客。再将各个用户的权限的范围列出,如:

管理员用户
	权限认证方式:登录,www.a.com/admin/login
	权限资源:www.a.com/admin/*
普通用户
	权限认证方式:登录,www.a.com/login
	权限资源:www.a.com/xx
			www.a.com/vv
			www.a.com/bb
			···
游客
	权限认证方式:无
	权限资源:www.a.com/index
			www.a.com/about
			···(无需列全)

所谓越权归根究底还是权限之间的不同造成的,服务端根据客户端的不同来判断每个客户端的权限,那么如果客户端成功冒充其他权限的客户端,是不是就可以成功越权了呢?

所以在将各个权限的资源排列之后,首先

  • 尝试直接跨权限访问资源,如未登录状态下访问登录后才能访问的资源页,若成功,则存在垂直越权漏洞
  • 对比不同身份时浏览器所“拥有”的资源的不同,来猜测可能造成越权的关键,如cookie,token等。尝试拆解这些字符串中隐藏的身份信息并且重新构造,若能通过不登录的方式构造出通过身份验证的字符串的话,则存在垂直越权漏洞
  • 还可尝试在未登录状态模拟发送登录状态操作的数据包,比如将添加用户操作发送的数据包拦截,之后退出登录重新发送,重新发送可以携带cookie和不携带cookie两种都可尝试。无论是否携带cookie,服务器成功受理都说明此处存在垂直越权漏洞

对于水平越权,就是比较相同权限间的不同用户的个人资源操作有何不同,服务端是如何分析不同客户端的身份的。如在信息查询时,使用参数传递给后端API进行查询,若后端没有对参数处进行二次身份验证,那么修改参数可能会越权查询其他人的信息,当然其他的个人资源也是同理,尝试修改传递给API的参数。若服务端受理,那么说明存在水平越权漏洞

猜你喜欢

转载自blog.csdn.net/Breeze_CAT/article/details/89488226