
إصلاح للطريقة غير المعرّفة each في ملف bailiwicked_domain.rb الخاص بـ Metasploit (وحدة تسميم ذاكرة التخزين المؤقت لـ DNS CVE-2008-1447)
إصلاح لخطأ undefined method each في ملف bailiwicked_domain.rb الخاص بـ Metasploit (وحدة تسميم ذاكرة التخزين المؤقت لنظام DNS - CVE-2008-1447)
أثناء اختبار CVE-2008-1447 باستخدام Metasploit، تعطلت الوحدة الأصلية مع:
undefined method `each` for an instance of IPAddr (NoMethodError)
يحدث هذا لأن الكود يستدعي .each على كائن IPAddr بدلاً من مصفوفة.
الإصلاح هو تغليف كائن IP في مصفوفة قبل التكرار: السطر 253
Array(rr1.address).each do |ip|
res2 = Net::DNS::Resolver.new(nameservers: [ip.to_s],...
# original code logic
end
✅ هذا يمنع NoMethodError ويتيح للوحدة العمل بنجاح.
bailiwicked_domain.rb الأصلي لديك بالملف المُصحح في هذا المستودع.
/usr/share/metasploit-framework/modules/auxiliary/spoof/dns/bailiwicked_domain.rbتستغل هذه الوحدة ثغرة DNS معروفة (CVE-2008-1447).
👉 استخدمها فقط في بيئة مختبرية خاضعة للتحكم لأغراض البحث والتعليم.
✨ إذا كان هذا الإصلاح مفيدًا لك، ففكر في منح المستودع نجمة ⭐!