从调试模式开启到通过功能级别授权漏洞泄露个人身份信息

从调试模式开启到通过功能级别授权漏洞泄露个人身份信息

💡 原文英文,约200词,阅读约需1分钟。
📝

内容提要

在分析应用的认证流程时,发现一个未被注意的子域名API,该API使用Django REST Framework,调试模式开启,部分端点暴露。通过/swagger路由获取组织信息时,发现“id”参数为不可预测的大数字。省略“id”参数发送请求后,竟然返回所有组织的信息,暴露了功能级别授权的漏洞。

🎯

关键要点

  • 在分析应用的认证流程时,发现一个未被注意的子域名API。

  • 该API使用Django REST Framework,调试模式开启,部分端点暴露。

  • 通过/swagger路由获取组织信息时,发现'id'参数为不可预测的大数字。

  • 省略'id'参数发送请求后,竟然返回所有组织的信息。

  • 暴露了功能级别授权的漏洞,未进行任何身份验证即可访问所有组织的数据。

延伸问答

这个API是用什么框架构建的?

该API使用Django REST Framework构建。

调试模式开启会带来什么风险?

调试模式开启可能导致部分端点暴露,增加安全风险。

如何通过该API获取组织信息?

可以通过访问/swagger路由获取组织信息,但需提供'id'参数。

省略'id'参数会发生什么?

省略'id'参数后,API会返回所有组织的信息。

这个漏洞的具体表现是什么?

该漏洞表现为功能级别授权缺失,未进行身份验证即可访问所有组织的数据。

这个API的安全性如何?

由于调试模式开启且存在功能级别授权漏洞,API的安全性较低。

➡️

继续阅读