
CVE-2022-31147 هي ثغرة اجتياز مسار (Path Traversal) في matthiasmullie/minify. يساعد هذا الدليل فرق الأمن على اختبار قراءة الملفات الاعتباطية على Linux وWindows باستخدام Python وcurl. ويغطي التوليد الآلي للحمولات، والتحقق اليدوي، والممارسات الآمنة لتقييم الثغرات.
يوفر هذا الدليل منهجيات شاملة لاختبار CVE-2022-31147، وهي ثغرة حرجة من نوع اجتياز المسار (Path Traversal) تؤثر على مكتبة matthiasmullie/minify المستخدمة على نطاق واسع. تسمح هذه الثغرة للمهاجمين باستغلال عدم كفاية تنظيف المدخلات في نقطة نهاية minify، مما قد يتيح قراءة ملفات عشوائية على كل من خوادم Linux وWindows. صُمم هذا الدليل خصيصًا لمحترفي الأمن، ومختبري الاختراق، والباحثين الذين يسعون إلى تقييم مدى تعرض تطبيقات الويب لهذا التهديد.
يتمثل جوهر الدليل في سكربت آلي بلغة Python لإثبات المفهوم، يعمل على توليد واختبار مجموعة واسعة من حمولات الاجتياز بشكل منهجي. تستخدم هذه الحمولات أعماقًا مختلفة من اجتياز الدليل (../)، وأنظمة ترميز متعددة (مثل ترميز URL والترميز المزدوج)، وتنويعات مختلفة لنقطة النهاية (بما في ذلك الامتدادات المزيفة ومعاملات الاستعلام) لتجاوز آليات التوجيه والتصفية الشائعة. من خلال الاستفادة من هذه التقنيات، يزيد السكربت من احتمالية اكتشاف الإعدادات الضعيفة، حتى في البيئات المحمية بجدران حماية تطبيقات الويب الأساسية أو منطق توجيه مخصص.
يتم تعزيز دقة الاكتشاف بشكل إضافي عبر استدلالات مدمجة تحلل محتوى الاستجابة بحثًا عن علامات ملفات معروفة. بالنسبة للأهداف التي تعمل بنظام Linux، يبحث السكربت عن أنماط مميزة لملف /etc/passwd أو ملفات حساسة أخرى، بينما يبحث في أنظمة Windows عن مؤشرات داخل ملفات مثل win.ini. يضمن هذا النهج تحديد الاستغلال الناجح بشكل موثوق، مما يقلل من النتائج الإيجابية الخاطئة ويبسط عملية التحقق.
بالإضافة إلى الاختبار الآلي، يوضح الدليل تقنيات التحقق اليدوي باستخدام curl، مما يمكّن الممارسين من صياغة وإرسال طلبات مخصصة لإجراء تحليل مستهدف أو للتحقق من النتائج بشكل مستقل. وتُشدد التوصيات في جميع أنحاء الدليل على أهمية الاختبار الآمن والمصرح به، بما في ذلك ضرورة إجراء التقييمات فقط على الأنظمة التي مُنح إذن صريح لاختبارها.
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --linux --file /etc/passwd
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --windows --file C:\Windows\win.ini
أنشئ ملفًا غير ضار على الخادم، ثم حاول قراءته:
python3 cve-2022-31147_poc.py --base https://yourdomain.tld/cdn/minify --file /var/www/test.txt
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../etc/passwd"
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../windows/win.ini"
curl -i "https://yourdomain.tld/cdn/minify/%2e%2e/../%2e%2e/../../etc/passwd"
curl -i "https://yourdomain.tld/cdn/minify/../../../../../../etc/passwd.css"
https://yourdomain.tld/cdn/minify بعنوان URL الهدف الفعلي الخاص بك.