安全性测试之权限测试

安全中的权限问题主要包括未授权访问越权两大类。

未授权访问是指缺乏对用户登录的有效校验。

越权是指系统缺乏对用户提交请求合法性的有效校验

一个典型的未授权访问的例子:“在非登录状态下,伪造用户名参数,可以直接访问API并获取或提交数据”。查看个人信息时,POST提交了参数userID=10201,修改该参数,如改为userID=10202,就可以查看其他用户的信息,这是一个最常见的越权问题

权限测试是测试系统提供给用户的接口是否具有相应的权限问题(不能多不能少),这些问题是否可能被恶意攻击者利用。

权限测试中常见的测试点,包括

1)接口权限最小化

2)每次调用接口将token作为API参数校验

3)用户相应API请求是否合法性

4)是否使用静态API密钥,是的话,要强加密后再传输

5)为避免重放攻击,建议参数中包括时间戳和随机数等

6)没有API密钥,可以通过访问权限控制


权限测试,针对B/S、C/S 架构,包括客户端和服务端的权限测试。

客户端针对不同用户不同角色(不同菜单不同按钮)不同领域(不同省份不同资源池不同业务)不同VIP(普通用户、会员、超级会员)的权限都不一样。

服务端针对不同用户不同厂商(金融行业不同银行)不同接口(南向、北向、东向、西向)不同领域(不同省份不同资源池不同业务)的权限都不一样。

更多例子,Linux下文件的读写,查看和执行,以及用户组和用户的权限。


更多学习资料见

原来接触好久的安全管理基于RBAC模型


摘取自刘琛梅老师的《测试架构师修炼之道:从测试工程师到测试架构师 第2版》

你可能感兴趣的:(安全性测试之权限测试)