لقد قمنا بتغطية مكتبة Python Pickle وشرحنا سبب عدم أمانها بعد الآن. بالإضافة إلى ذلك، أظهرنا كيفية استغلال تطبيق ويب ينفذ مكتبة المخلل مع حقن SQL. كان هذا جزءًا من تحدي الويب HackTheBox COP.

احصل على ملاحظات شهادة OSCP

اختبار الاختراق الكامل مع دورة BackBox

وصف التحدي

بدأ COP (Cult of Pickles) متجرًا إلكترونيًا جديدًا لبيع بضائعهم. نعتقد أن الأموال تُستخدم لتنفيذ عمليات دعائية غير مشروعة تعتمد على المخللات! قم بالتحقيق في الموقع وحاول إيجاد طريقة لتشغيله!

أبرز مقاطع الفيديو

عنوان URL الضعيف:

http://ip:port/product/view/1

يمكن استبدال المعلمة "1" بحمولة SQL كلاسيكية مثل " OR "1"="1

يكشف الكود المصدري للتحدي أن تطبيق الويب يستخدم تخليل بايثون لتسلسل البيانات وإلغاء تسلسلها.

تنفذ وحدة Pickle بروتوكولات ثنائية لإجراء تسلسل وإلغاء تسلسل بنية كائن Python. _"التخليل"_ هي العملية التي يتم من خلالها تحويل التسلسل الهرمي لكائن بايثون إلى دفق بايت، و_"التخليل"_ هي العملية العكسية، حيث يتم تحويل دفق البايت (من ملف ثنائي أو كائن يشبه البايت مرة أخرى إلى التسلسل الهرمي للكائن.

أعلنت بايثون أن عملية الالتقاط ليست آمنة لإلغاء الالتقاط لأنه من الممكن إنشاء بيانات مخللة ضارة والتي ستقوم ** بتنفيذ تعليمات برمجية عشوائية أثناء عملية التفكيك **. لا تقم مطلقًا بتفكيك البيانات التي قد تكون جاءت من مصدر غير موثوق به، أو التي يمكن التلاعب بها كما قال بايثون. يمكن إجراء عملية التخليل والتفكيك باستخدام "pickle.dumps" و"pickle.loads" على التوالي.
يمكن استغلال `pickle` باستخدام `__reduce__` والذي يمكننا من تنفيذ التعليمات البرمجية في البيانات المخللة.
في نهاية المطاف، الغرض من استغلال "pickle" هو إنشاء/تعديل اختيار لتنفيذ أوامر النظام على الهدف.

استخدمنا كود الاستغلال أدناه لحل التحدي.

يستورد sys
يستورد base64
يستورد ورطة
يستورد urllib.parse
يستورد طلبات
يستورد نظام التشغيل

الحمولة = "تطبيق cp flag.txt/static/."

فصل إكسب:

مواطنه __يقلل__(الذات):
يعود نظام التشغيل، (الحمولة،)

لو __الاسم__ == "__رئيسي__":

الحمولة = base64.b64encode(pickle.dumps(Exp())).decode()

مطبعة(الحمولة)

تجول الفيديو

عن المؤلف

أقوم بإنشاء ملاحظات حول الأمن السيبراني وملاحظات التسويق الرقمي والدورات التدريبية عبر الإنترنت. أقدم أيضًا استشارات التسويق الرقمي بما في ذلك، على سبيل المثال لا الحصر، تحسين محركات البحث وإعلانات Google وMeta وإدارة CRM.

عرض المقالات