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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CrossSiteContentHijacking — إثبات مفهوم لاختطاف المحتوى باستخدام Flash وPDF وSilverlight | Kitploit
أدوات/GitHubGitHub/nccgroup/crosssitecontenthijacking
تحليل الثغرات الأمنيةاستغلال تطبيقات الويبتسريب البياناتأمن الويباختبار الاختراقسوء التكوين
GitHubnccgroup/crosssitecontenthijacking

CrossSiteContentHijacking

إثبات مفهوم لاختطاف المحتوى باستخدام Flash وPDF وSilverlight

عرض المستودع
38596منذ 7 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Cross-Site Content (Data) Hijacking (XSCH) PoC Project

الترخيص

مُطلق بموجب رخصة AGPL (انظر LICENSE لمزيد من المعلومات).

الوصف

يمكن استخدام هذا المشروع لتقديم إثبات مفهوم لما يلي:

  • استغلال المواقع التي تمتلك ملفات سياسات غير آمنة (crossdomain.xml أو clientaccesspolicy.xml) من خلال قراءة محتوياتها.
  • استغلال وظائف رفع الملفات غير الآمنة التي لا تتحقق من محتويات الملف بشكل صحيح أو تسمح برفع ملفات SWF أو PDF دون وجود ترويسة Content-Disposition أثناء عملية التنزيل. في هذا السيناريو، يجب رفع ملف SWF أو XAP أو PDF المُنشأ بأي امتداد مثل .JPG إلى الموقع المستهدف. بعد ذلك، يجب تعيين قيمة "Object File" إلى رابط الملف المرفوع لقراءة محتويات الموقع المستهدف.
  • استغلال CVE-2011-2461 (انظر المراجع لمزيد من التفاصيل)
  • استغلال المواقع التي تمتلك ترويسات CORS (مشاركة الموارد عبر الأصول) الخاصة بـ HTML5 غير الآمنة

ملاحظة: يمكن إعادة تسمية ملفات .XAP إلى أي امتداد آخر ولكن لا يمكن تحميلها عبر النطاقات (cross-domain) بعد ذلك. يبدو أن Silverlight يحدد امتداد الملف بناءً على الرابط المقدم ويتجاهله إذا لم يكن .XAP. لا يزال من الممكن استغلال ذلك إذا كان الموقع يسمح للمستخدمين باستخدام "؛" أو "/" بعد اسم الملف الفعلي لإضافة امتداد ".XAP".

الاستخدام

  • استغلال ملف سياسة غير آمن:
    1. استضف مجلد ContentHijacking عبر خادم ويب.
    2. تصفح إلى صفحة index.html (سيتم إعادة التوجيه إلى ContentHijackingLoader.html).
    3. غيّر حقل "Object File" في صفحة HTML إلى كائن مناسب من مجلد "objects" (لا يمكن استخدام "xfa-manual-ContentHijacking.pdf").
  • استغلال رفع/تنزيل ملف غير آمن:
    1. ارفع ملف كائن من مجلد "objects" إلى الخادم الضحية. يمكن أيضًا إعادة تسمية هذه الملفات بامتداد آخر عند رفعها إلى نطاق آخر (لهذا الغرض، استخدم Flash أولاً ثم PDF لأن ملفات Silverlight XAP لن تعمل عادةً بامتداد آخر من نطاق آخر).
    2. يجب تعيين حقل "Object File" إلى موقع الملف المرفوع.
  • استغلال CVE-2011-2461
    1. يجب تعيين حقل "Object File" إلى الملف القابل للاستغلال.
    2. اختر خيار "Flash CVE-2011-2461 Only" من القائمة المنسدلة لحقل "Type".
  • استغلال سياسة CORS غير آمنة:
    1. يمكن تعيين حقل "Object File" إلى الملف المحلي "ContentHijacking.html". إذا كان بإمكانك رفع ملف HTML في نطاقك المستهدف، فيمكنك استغلال مشكلات XSS بسهولة أكبر من استخدام CORS.

ملاحظة: يمكن إعادة تسمية ملفات .XAP إلى أي امتداد آخر ولكن لا يمكن تحميلها عبر النطاقات (cross-domain) بعد ذلك. يبدو أن Silverlight يحدد امتداد الملف بناءً على الرابط المقدم ويتجاهله إذا لم يكن .XAP. لا يزال من الممكن استغلال ذلك إذا كان الموقع يسمح للمستخدمين باستخدام "؛" أو "/" بعد اسم الملف الفعلي لإضافة امتداد ".XAP".

ملاحظة: عندما يطلب Silverlight ملف .XAP عبر النطاقات، يجب أن يكون نوع المحتوى: application/x-silverlight-app.

ملاحظة: لا يمكن استخدام ملفات PDF إلا في عارض Adobe Reader (لن تعمل مع عارضات PDF المدمجة في Chrome وFirefox)

ملاحظة: قراءة المحتويات الثابتة أو البيانات المتاحة للعموم لا يمكن اعتبارها مشكلة. من المهم إزالة النتائج الإيجابية الخاطئة من نصائحك الأمنية. لاحظ أن استخدام حرف النجمة ("*") وحده في ترويسة "Access-Control-Allow-Origin" ليس مشكلة.

مثال على الاستخدام:

  • في Internet Explorer مع Adobe Reader: https://15.rs/ContentHijacking/ContentHijackingLoader.html?objfile=https://15.rs/ContentHijacking/objects/ContentHijacking.pdf&objtype=pdf&target=https://0me.me/&postdata=param1=foobar&logmode=all&regex=owasp.*&isauto=1
  • في أي متصفح يدعم SWF: http://15.rs/ContentHijacking/ContentHijackingLoader.html?objfile=http://0me.me/ContentHijacking/objects/ContentHijacking.swf&objtype=flash&target=http://0me.me/&postdata=&logmode=result&regex=&isauto=1

توصية عامة لحل المشكلة الأمنية

يجب تقييد أنواع الملفات المسموح برفعها فقط بتلك الضرورية لوظائف العمل.

يجب على التطبيق إجراء تصفية وفحص للمحتوى على أي ملفات يتم رفعها إلى الخادم. يجب فحص الملفات والتحقق منها بدقة قبل إتاحتها للمستخدمين الآخرين. في حال وجود شك، يجب التخلص من الملف.

إضافة ترويسات "Content-Disposition: Attachment" و "X-Content-Type-Options: nosniff" إلى استجابة الملفات الثابتة سيؤمن الموقع ضد هجمات اختطاف المحتوى عبر المواقع المستندة إلى Flash أو PDF. يُنصح بتنفيذ هذه الممارسة لجميع الملفات التي يحتاج المستخدمون إلى تنزيلها في جميع الوحدات التي تتعامل مع تنزيل الملفات. على الرغم من أن هذه الطريقة لا تؤمن الموقع بالكامل ضد الهجمات باستخدام Silverlight أو كائنات مماثلة، إلا أنها يمكن أن تخفف من خطر استخدام كائنات Adobe Flash وPDF، خاصةً عندما يُسمح برفع ملفات PDF.

يجب إزالة ملفات سياسات النطاقات المتقاطعة الخاصة بـ Flash/PDF (crossdomain.xml) أو Silverlight (clientaccesspolicy.xml) إذا لم تكن قيد الاستخدام ولا توجد حاجة تجارية لتواصل تطبيقات Flash أو Silverlight مع الموقع.

يجب تقييد الوصول عبر النطاقات إلى مجموعة صغيرة من النطاقات الموثوقة التي ستحتاج إلى الوصول. تُعتبر سياسة الوصول ضعيفة أو غير آمنة عند استخدام حرف بدل (wildcard) خاصةً في قيمة خاصية "uri".

يجب اعتبار أي ملف "crossdomain.xml" يُستخدم لتطبيقات Silverlight ضعيفًا لأنه لا يقبل سوى حرف البدل ("*") في خاصية النطاق (domain).

يجب تعطيل التخزين المؤقت في المتصفح لملفات crossdomain.xml وclientaccesspolicy.xml. وهذا يمكّن الموقع من تحديث الملف بسهولة أو تقييد الوصول إلى خدمات الويب إذا لزم الأمر. بمجرد فحص ملف سياسة وصول العميل، يظل ساريًا لجلسة المتصفح، لذا فإن تأثير عدم التخزين المؤقت على المستخدم النهائي ضئيل. يمكن رفع هذا كمسألة منخفضة الخطورة أو إعلامية بناءً على محتوى الموقع المستهدف وأمن وتعقيد ملف (ملفات) السياسة.

يجب مراجعة ترويسات CORS بحيث يتم تفعيلها فقط للبيانات الثابتة أو المتاحة للعموم. بخلاف ذلك، يجب أن تحتوي ترويسة "Access-Control-Allow-Origin" على العناوين المصرح بها فقط. يجب استخدام ترويسات CORS الأخرى مثل "Access-Control-Allow-Credentials" فقط عند الحاجة إليها. يجب مراجعة العناصر الموجودة داخل ترويسات CORS مثل "Access-Control-Allow-Methods" أو "Access-Control-Allow-Headers" وإزالتها إذا لم تكن مطلوبة.

ملاحظة: استخدام ترويسة "Referer" لا يمكن أن يكون حلاً لأنه من الممكن تعيين هذه الترويسة على سبيل المثال عن طريق إرسال طلب POST باستخدام Adobe Reader وPDF (انظر ملف "xfa-manual-ContentHijacking.pdf" في مجلد "objects"). تحديث: تمت معالجة تعيين ترويسة "referer" من قبل Adobe إلا إذا وجدت أيضًا تجاوزًا لها ;)

صفحة المشروع

انظر صفحة المشروع لآخر تحديث/مساعدة: https://github.com/nccgroup/CrossSiteContentHijacking

المؤلف

Soroush Dalili (المعروف بـ @irsdl) من NCC Group

المراجع

حتى رفع ملف JPG يمكن أن يؤدي إلى اختطاف البيانات عبر النطاقات (هجوم من جهة العميل)! https://soroush.secproject.com/blog/2014/05/even-uploading-a-jpg-file-can-lead-to-cross-domain-data-hijacking-client-side-attack/

ثغرات متعددة في PDF - نص وصور بجرعات مضاعفة http://insert-script.blogspot.co.at/2014/12/multiple-pdf-vulnerabilites-text-and.html

اتصالات HTTP والأمان مع Silverlight http://msdn.microsoft.com/en-gb/library/cc838250(v=vs.95).aspx

شرح ملفات الوصول عبر النطاقات وسياسات وصول العميل لـ Silverlight http://www.devtoolshed.com/explanation-cross-domain-and-client-access-policy-files-silverlight

مواصفات ملف سياسة النطاقات المتقاطعة http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html

إعداد ملف crossdomain.xml لتدفق HTTP http://www.adobe.com/devnet/adobe-media-server/articles/cross-domain-xml-for-streaming.html

استغلال CVE-2011-2461 على google.com http://blog.mindedsecurity.com/2015/03/exploiting-cve-2011-2461-on-googlecom.html

تنزيل الأداة