
一、访问控制要求
- 根据应用程序的核心功能,了解访问控制在垂直隔离(拥有不同权限的用户可访问不同类型的功能)与水平隔离(拥有相同权限的用户可访问不同的数据)方面的主要要求,通常,应用程序会使用两种权限隔离,例如,普通用户能够访问自己的数据,而管理员则能够访问每个人的数据。
- 检查应用程序解析过程得到的结果,确定最可能成为权限提升攻击目标的功能区域与数据资源类型。
- 为提高测试访问控制漏洞的效率,渗透测试员应该获得大量拥有不同垂直权限与水平权限的账户。如果应用程序允许自我注册,渗透测试员就可以直接获得大量拥有不同水平权限的账户。为获得拥有不同垂直权限的账户,需要得到应用程序所有者的帮助(或利用某个漏洞访问一个高权限账户)。
二、使用多个账户测试
- 如果应用程序实施垂直权限隔离,那么首先使用一个高权限账户确定它能访问的所有功能,然后再使用一个低权限账户尝试访问上述每一项功能。
- 使用Burp在一个用户的权限下浏览应用程序的所有内容。