您好,登錄后才能下訂單哦!
怎樣分析CVE-2020-7471 Django sql注入漏洞復(fù)現(xiàn),很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
Django 是一個(gè)由 Python 編寫(xiě)的一個(gè)開(kāi)放源代碼的 Web 應(yīng)用框架。
使用 Django,只要很少的代碼,Python 的程序開(kāi)發(fā)人員就可以輕松地完成一個(gè)正式網(wǎng)站所需要的大部分內(nèi)容,并進(jìn)一步開(kāi)發(fā)出全功能的 Web 服務(wù) Django 本身基于 MVC 模型,即 Model(模型)+ View(視圖)+ Controller(控制器)設(shè)計(jì)模式,MVC 模式使后續(xù)對(duì)程序的修改和擴(kuò)展簡(jiǎn)化,并且使程序某一部分的重復(fù)利用成為可能。
攻擊者可通過(guò)構(gòu)造分隔符傳遞給聚合函數(shù)contrib.postgres.aggregates.StringAgg,從而繞過(guò)轉(zhuǎn)義符號(hào)(\)并注入惡意SQL語(yǔ)句。
Django 1.11.x < 1.11.28
Django 2.2.x < 2.2.10
Django 3.0.x < 3.0.3
Django 主開(kāi)發(fā)分支
不受影響范圍:
Django 1.11.28
Django 2.2.10
Django 3.0.3
1.使用kali搭建django 漏洞版本使用版本為3.0.2
pip3 install django==3.0.2
2. 安裝postgres 數(shù)據(jù)庫(kù),由于kali自帶了postgres數(shù)據(jù)庫(kù),這里直接啟動(dòng)
systemctl start postgresql
3.使用命令sudo -i -u postgres進(jìn)入postgres賬戶(hù),然后輸入psql進(jìn)入數(shù)據(jù)庫(kù),并創(chuàng)建測(cè)試數(shù)據(jù)庫(kù)test。CREATE DATABASE test;
4.修改數(shù)據(jù)庫(kù)密碼,ALTER USER postgres WITH PASSWORD 'root';
1.這里使用poc來(lái)進(jìn)行實(shí)驗(yàn),下載poc到本地
git clone https://github.com/Saferman/CVE-2020-7471.git
2.然后進(jìn)入到CVE-2020-7471/sqlvul_projects/settings.py,修改數(shù)據(jù)庫(kù)配置,如果之前安裝postgres數(shù)據(jù)庫(kù)使用的默認(rèn)配置(包括密碼),這里就不需修改任何任何配置
3. 修改完成后回到上層,然后利用CVE中的代碼初始化測(cè)試數(shù)據(jù)庫(kù)test中的表
python3 manage.py migrate python3 manage.py makemigrations vul_app python3 manage.py migrate vul_app
運(yùn)行沒(méi)有改變數(shù)據(jù)沒(méi)關(guān)系,初始化環(huán)境完成
4.進(jìn)test數(shù)據(jù)庫(kù)查看數(shù)據(jù)表
\c test //進(jìn)入test數(shù)據(jù)庫(kù) \d 查看全部表
查看vul_app_info表的信息
select * from vul_app_info;
5.沒(méi)有插入數(shù)據(jù)沒(méi)沒(méi)關(guān)系,使用vim 查看CVE-2020-7471.py里內(nèi)容
vim CVE-2020-7471.py
6.執(zhí)行poc向數(shù)據(jù)庫(kù)插入數(shù)據(jù)
python3 CVE-2020-7471.py
可以看到POC里面的數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)中,注入成功
升級(jí)到Django最新版3.0.3
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。