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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
rails-cve-2017-17917 — عرض تعليمي لثغرة CVE-2017-17917 حقن SQL في Rails، مع إعادة التطبيق خطوة بخطوة وتخفيف الأمان باستخدام الاستعلامات المعلمة. | Kitploit
أدوات/GitHubGitHub/matiasarenhard/rails-cve-2017-17917
تحليل الثغرات الأمنيةتحليل الكوداستغلال تطبيقات الويبالتعلم والتعليمأمن قواعد البياناتمختبرات وتدريب عملي
GitHubmatiasarenhard/rails-cve-2017-17917

rails-cve-2017-17917

عرض تعليمي لثغرة CVE-2017-17917 حقن SQL في Rails، مع إعادة التطبيق خطوة بخطوة وتخفيف الأمان باستخدام الاستعلامات المعلمة.

عرض المستودع
16منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

rails-cve-2017-17917

يوضح المشروع تكرار ثغرة حقن SQL في المعامل id، ويقدم لاحقًا رؤى حول تخفيف وحل هذه المشكلة الأمنية. https://www.cvedetails.com/cve/CVE-2017-17917/?q=CVE-2017-17917

المكدس التقني:

root@kitploit:~
  Ruby: 3.2.2
  Rails: 7.0.8
  Docker 24.0.5
  Docker-Compose 1.29.2
  PostgreSQL

CVE-2017-17917

image

اخترنا هذا CVE لتسليط الضوء على استمرار حدوث هذه المشكلة في أحدث إصدارات Rails، مما يؤكد أهميتها في أفضل ممارسات التطوير.

مخطط البيئة المستخدمة لتكرار الثغرة

Diagrama sem nome drawio(1)

تعليمات لتكرار هذه الثغرة.

المتطلبات:

root@kitploit:~
  docker
  docker-compose

خطوات بناء المشروع:

root@kitploit:~
  sudo docker-compose build

image

root@kitploit:~
  sudo docker-compose run web bundle install

image

root@kitploit:~
  sudo docker-compose run web rails db:create db:migrate db:seed

image

root@kitploit:~
  sudo docker-compose up

image

انتقل إلى http://localhost:3000/

image

image

معامل حقن SQL 1 OR id > 1

image

تقييم مخاطر الثغرة في بيئة إنتاجية.

باستخدام حقن SQL هذا، يمكن للمهاجم استرداد بيانات المستخدم التي لا يحق له عادةً الاطلاع عليها.
درجة صعوبة التنفيذ: سهل

الخلاصة

تكمن المشكلة في دالة المتحكم (controller)، وتحديدًا عند استدعاء جملة where كما يلي:
@clients = Client.where("id = #{params[:id_search]}")
رابط الكود

يتم حل المشكلة باستخدام الأسلوب التالي:
@clients = Client.where(id: "#{params[:id_search]}")
رابط الكود

الاختبارات

root@kitploit:~
  sudo docker-compose run web rspec

image

تنزيل الأداة