授权问题在Web应用程序中非常常见。
本节汇总了一些常见的漏洞示例。现代Web开发框架通常可以防止所有类型的注入,但不能自动处理这类问题,因为它们无法理解它们背后的业务逻辑。出于同样的原因,自动网络扫描仪无法真正测试授权问题; 这就是为什么它通常是一个很好的漏洞来源,知道如何测试它们很重要。
下一节课中的“批量赋值”部分也是授权问题,但为了清楚起见,我更倾向于将练习分为两部分。
Example 1
在此示例中,您可以使用以下用户登录:user1,使用密码“pentesterlab”。登录并玩游戏后,请注销并尝试访问相同的信息。
对于设计不佳的Web应用程序来说,这是一个非常常见的问题,即使您无法访问后验证页面,如果您知道其URL,您仍然可以访问其他页面:例如:http://192.168.40.131/authorization/example1/infos/1。
Example 2
在此示例中,您可以使用以下用户登录:user1,使用密码pentesterlab。登录后,您可以开始访问信息并查看使用的模式:/infos/1,/infos/2。如果您继续增加URL中的数字,则可以访问其他用户的信息。
详解:
登录user1/pentesterlab 并访问user2的内容。即水平权限提升。
User1只有infos/1 、infos/2两个文件,但是访问infos/3, 即user2的内容时,也可以访问的到。
Example 3
在此示例中,您可以使用与之前看到的方法类似的方法访问信息。您不能直接访问信息,但是您可以看到您现在可以编辑信息,并且您可以使用此功能仅通过递增URL中的数字来访问其他用户的信息。
详解:
与上一题一样,使用user1的帐户访问user2的内容。不过这次是在修改的时候。只能看到如下图: