管理员接口可能存在与应用程序上或者应用服务器上来允许特定用户对网站进行权限操作行为。测试者应该试图去发现特权功能是否可以或者如何被非授权用户和普通用户使用。
一个应用可能需要管理接口来允许特权用户来访问那些会改变站点行为的功能。这样的行为可能包括:
在很多例子中,这些接口并没有针对非授权使用作出有效的控制措施。这个测试目标是发现这些管理接口并使用这些为特权用户准备的功能。
接下来的章节描述了一些用于测试管理接口的测试向量。这些技巧可能也能用于测试其他问题,包括权限提升,在指南的其他地方会更详细介绍(比如 认证绕过测试 (OTG-AUTHZ-002) 和 不安全直接对象引用测试 (OTG-AUTHZ-004))。
<input type="hidden" name="admin" value="no">
或者cookie: Cookie: session_cookie; useradmin=0
一旦管理接口被发现,上面这些技巧的结合可能用于绕过认证。如果都失败了,测试人员可能试图使用暴力破解。在这样的例子中,测试人员应当注意管理帐号的锁定情况,如果存在这样的机制的话。
应该采取更加详细地对服务器和应用组件的检查来确保加固措施(也就是管理页面应该通过IP过滤或其他控制措施来保证不被其他任何人访问)。如果还是对外可用,那么应该验证所有组件没有使用默认凭证或者默认配置文件。
源代码应该被审查来确保认证和授权模型明确了站点管理员和普通用户的权限责任区分。被普通用户的管理员用户共享的用户功能接口应该被审查来保证无法从这些接口中获得信息泄漏。