无法理解REST API中的安全性概念

时间:2018-12-27 07:28:07

标签: rest api microsoft-graph

我正在使用Microsoft graph API。我成功使用了令牌认证。为了下载文件,我向https://graph.microsoft.com/v1.0/me/drive/items/ {item_id_here} /发出了一个请求(在标头中带有令牌),然后获取了一个@microsoftgraph_downloadurl。然后,我可以在没有任何授权标头的情况下ajax到该URL,并且文档指出此链接只是临时的。

我的问题是,即使链接是临时的,这仍然不是很不安全吗?为什么我不能只编写一个脚本来测试随机@microsoftgraph_downloadurls,直到该脚本在那个时间窗口内碰到一个并且我偷了某人的文档?

该算法是否依赖于生成的url的随机空间的大小作为安全措施?

2 个答案:

答案 0 :(得分:0)

它们具有适当的机制来防止暴力破解(或猜测链接)。

该链接仅在特定时间内有效,因此它们可能会在网址中编码最大时间跨度。

答案 1 :(得分:0)

从身份验证上下文中获取的令牌仅对应用程序注册的Office 365租户有效。而且,如果令牌是由您的用户获得的,则令牌不仅将限于您在租户内部的访问权限,而且您的用户可能会留下整个指纹。在您自己的组织中这样做似乎并不明智。

大多数权限也是需要管理员同意才能访问的权限。而且,如果这是一个多租户应用程序,则几乎所有请求都需要获得管理员的同意。

如果您不是由用户获取访问令牌,而是作为“应用程序上下文”而不是委派访问,则可以很容易地将其追溯到您。

也:https://graph.microsoft.com/v1.0/me/drive/items/ {item_id_here} /中提供的地址包含“ / me”,您将仅尝试窃取自己的文件或已经可以在OneDrive中访问的文件:-)