Django admin自定义动作之你的不规范可能让你的站点不安全了

Django admin自定义动作之你的不规范可能让你的站点不安全了

前言

想起前段时间,我是非常抵触看官方文档的。官方文档是什么东西,我就算自己看源码学,我也不会看你文档一点!现在发现文档是真的香啊。
那之前我想自定动作的时候, 我头是真的铁. 我居然自己看: https://b23.tv/NQuKiI, 实际上人家官方就有详细的文档

新版写的写法

我大致翻了一下文档, 权限认证呢?我记得阅读 delete_selected() 源码的时候。是有权限认证的呀. 难道新版不需要了?仔细翻了一下,原来注解可以限制权限了。
在这里插入图片描述

我去翻了一下源码,新版本(3.2.3)的默认动作加上了注解。设置了所需权限和描述.
在这里插入图片描述

权限认证漏洞

我开始担心起来. 是否有人没有注意到需要设置权限或进行权限认证呢 ?更坏的情况是他写了文章,而且已经有人参考并跑在线上了。
我百度随便翻了几篇, 都没有写权限验证的内容。其中一篇文章有18万的阅读量, 还包括某乎的文章.
在这里插入图片描述

漏洞验证

运气好的是,Django 的设计是以 POST 的方式请求当前页面,进行处理。 参考: https://b23.tv/6ZRcEb, 也可以自己去翻源码: \site-packages\django\contrib\admin\options.py: def response_action()
在这里插入图片描述
这样的设计设下了一次验证,我们需要是 职员/管理员 身份才能进入后台。所以我新建了一个用户并给了职员的身份,是用户是否可以登录到此管理站点。
在这里插入图片描述
但是没有任何的权限,所以登录后台也看不到任何东西。不得不感叹一句 Django 验证真好
在这里插入图片描述
现在加上最基本的 view 权限,让他可以查看内容,仅仅只是查看。
在这里插入图片描述
action 暴露出来了,且能用
在这里插入图片描述

危害

原本的设计是我只有查看的权限,但因为 action 的开发不规范,用户可以做到了本做不到的,越权产生了, 但条件苛刻, 那如果职员账号是弱密码呢? 如果你的站点也有这样的职员账号,请检查 action 是否规范开发。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值