【威胁通告】Django SQL注入漏洞(CVE-2020-7471)

近日,Django 官方发布安全通告公布了一个通过StringAgg(分隔符)的潜在SQL注入漏洞(CVE-2020-7471)。

如果将不受信任的数据用作StringAgg分隔符,则部分版本的 Django将允许SQL注入。

通过将精心设计的分隔符传递给contrib.postgres.aggregates.StringAgg实例,可以打破转义并注入恶意SQL。

目前已存在针对该漏洞的 PoC。

Django框架防止目录穿越——从路由传参说起

最近审计代码过程中出现了没有正确处理url形成目录穿越,导致可以读取或下载任意文件的案例,过程很简单,由此却引发了和小伙伴的讨论,对风险的控制需要依赖框架本身还是必须从根本上规避风险点。下面就通过目录遍历漏洞的案例分析一下django的路由传参方式,以及在日常开发中如何避免此类风险。

【干货分享】使用Django轻松几步搞定用户认证功能

但凡是一个公开使用的系统,都离不开认证登录这个模块,如何快速出一个基本的认证登录页面供使用则是经常遇到的问题。好在django有一套成型的注册登录模块可供使用。如果你跟我一样不想重复造轮子,那么这篇分享或许可以帮你快速完成任务。
下面就几个关键常用的问题以FAQ的方式给出我在这块的学习总结笔记。

django执行任意代码漏洞

Django任意代码执行漏洞分析

从Django的SECTET_KEY到代码执行

Django是一个可以用于快速搭建高性能,优雅的网站的平台,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。

最近在进行网站代码审查的过程中,发现某些产品由于session使用不当,导致可能被攻击者利用,执行任意代码。这些产品在登录的JS代码中,泄露了SECRET_KEY,将该值作为密码加密的盐,这样就暴露了加密salt不太好吧,更重要的是对django的安全造成了极大的威胁。