Django 2FA绕过

为了保证后台安全,我对 Django 的 Admin Site 启用了 2FA,详细步骤不作叙述。

但是我自己本身也做了 Login 接口实现,没有 2FA 需求。在做完实现之后我很快想到两者的 session 是否可以共用。于是我用 curl 构造了表单并把 session ID 复制到上面。如图:

image-20220406103538128

image-20220406103601120

上图是自实现的 Login 接口,下图是 Admin Site 的请求。可以发现两者确实可以共用。

解决方法只用在自实现的 Login 接口添加一行 if 判断登陆用户是否为 superuser,如果是则不予登陆。

作者

EvanLuo42

发布于

2022-04-06

更新于

2022-04-06

许可协议

评论

+ +