الطب الشرعي ، حقن SQL والقط طويل المعاناة: تحليل المهمة رقم 3 للمرحلة عبر الإنترنت NeoQUEST-2020



سننظر اليوم في المهمة الأكثر إثارة للجدل في NeoQUEST-2020 : الجزء الأول هو بطل في عدد المشاركين الذين اجتازوه ، والجزء الثاني أطاع سوى عدد قليل. ما هو خاص جدا حول له؟ افهم الخفض!


هل اضطررت يومًا إلى التحقيق في تفريغ ذاكرة الوصول العشوائي؟ هل تعرف عدد الأشياء المثيرة للاهتمام التي يمكنك الحصول عليها من هناك؟ (المفسد: كل شيء ، بما في ذلك نتائج تشغيل البرامج النصية والصور الحديثة بالإضافة إلى سجل المتصفح).
ماذا عن حقن SQL الغريبة؟ تقوم بتحميل صورة معينة إلى الموقع ، ويتم إعطاؤك معلومات من قاعدة بيانات مغلقة - أليست هذه جريمة مثالية؟
في الجزء الأول من المقالة ، سننظر في أدوات تحليل تفريغ الذاكرة ومعرفة كيفية استخراج المعلومات التي نحتاجها من هناك ، وفي الجزء الثاني من المقالة سنوضح بوضوح عملية معالجة علامات الصور لحقن صعب :)

لذا ، فإن المهمة هي تنزيل الأرشيف، والذي يحتوي على ملف ثنائي بسعة 1 جيجا بايت باسم المتحدث memdump.bin ، والذي يمكننا من خلاله افتراض أن هذا هو تفريغ ذاكرة الوصول العشوائي. سنستخدم إطار التقلب لأبحاثها . يدعم التقلب العديد من المكونات الإضافية التي تجعل من السهل البحث والاستخراج من تفريغ المعلومات المختلفة المفيدة لابتزاز أحد المحللين. أولاً ، استخدم الأمر imageinfo واحصل على معلومات حول التفريغ:



إذا حكمنا من خلال إخراج الأمر imageinfo ، فإننا نتعامل مع ملف تفريغ ذاكرة Windows 7. بعد ذلك ، سنلقي نظرة على قائمة العمليات الجارية في النظام في الوقت الذي تمت فيه إزالة التفريغ باستخدام الأمر pslist:



في القائمة ، يمكنك رؤية العديد من العمليات المثيرة للاهتمام. لنبدأ الدراسة بعملية chrome.exe - يمكنك دائمًا العثور على شيء مثير للاهتمام في المتصفح. هناك مكونات إضافية إضافية للتقلبات التي تعمل على أتمتة استخراج المعلومات من العمليات. على سبيل المثال ، سيسمح لنا المكون الإضافي chromehistory باستخراج سجل زيارة المتصفح من ملف تفريغ ذاكرة الوصول العشوائي:



في سجل الكروم ، يمكن ملاحظة العديد من الأشياء المثيرة للاهتمام في وقت واحد. أولاً ، ارتباط بالجزء الثاني من المهمة، بالإضافة إلى استعلامات البحث حول البيانات الوصفية في صور PNG ، وهو أيضًا تلميح إلى الجزء الثاني ، ولكن سننتقل إلى هذا لاحقًا. في المرحلة الحالية ، نحن مهتمون بطلبات الحصول على رمز ترويجي لخصم على الموقع وملفات pdf ، والتي تلمح إلى موضوع المزيد من عمليات البحث (قد يؤدي تشغيل Acrobat Reader`a أيضًا إلى ذلك). دعونا نحاول العثور على مستندات pdf في ملف تفريغ باستخدام الأمر filescan:



حظ سعيد! يبدو أن هناك بعض الترويجي في ملف التفريغ. دعنا نحاول سحبها باستخدام الأمر dumpfiles:



في هذه المرحلة ، قد تنشأ صعوبات بسيطة بسبب حقيقة أن بعض مشاهدي مستند pdf قد لا يتعرفون على الملف الذي تم استخراجه للتو (تحتاج فقط إلى حذف وحدات البايت الإضافية في نهاية الملف). ولكن هل نحن خائفون حقًا من بعض وحدات البايت الإضافية؟ :) في النهاية ، افتح المستند وشاهد رمز الاستجابة السريعة ، بعد قراءة أي منها ، نحصل على العلم من الجزء الأول من المهمة (وفي نفس الوقت الرمز الترويجي لتلقي هدية من فريق NeoQUEST - نقدم جوائز لا تنسى جميع المشاركين الذين أكملوا مهمة واحدة على الأقل!).



بعد ذلك ، حاول الحصول على العلم الثاني. نعود إلى الموقع ، الرابط الذي تم العثور عليه في سجل المتصفح. للوصول إلى الموقع ، تحتاج إلى إدخال رمز ترويجي. نتذكر محفوظات البحث في المستعرض ووصف المستند نفسه (استخدم هذا من أجل الانضمام) ، والذي يمكننا من خلاله افتراض أن العلم الأول هو الرمز الترويجي الذي نحتاج إليه. ندخلها في الحقل ونصل إلى الموقع حيث يُعرض علينا تحميل صورة:



بناءً على عدد مرات تجمد الموقع ، قرر المشاركون التحقق تجريبيًا من تحميل جميع أنواع المستندات الممكنة. بعد وقت معين ، نفهم أنه لا يمكن تحميل سوى صور PNG على الموقع. اللغز التالي هو الرسالة "لا توجد بيانات كافية لتخزين هذه الصورة ، آسف!" ، والتي تحدث عندما تحاول تحميل صورة.

وبالعودة إلى تاريخ المتصفح ، نتذكر طلبات النموذج "إضافة بيانات وصفية إلى ملف png". باستخدام استنتاجات بسيطة ، نستنتج أنه ، على الأرجح ، يجب إدخال قيم معينة في البيانات الوصفية لتحميل صورة إلى موقع. يمكنك البدء باستكشاف تنسيق PNG (للحصول على وصف ، على سبيل المثال ، انقر هنا ). أولاً ، تحقق من قائمة الكلمات الرئيسية القياسية لصور PNG للبيانات الوصفية ، على سبيل المثال: "المؤلف" و "الوصف" وما إلى ذلك. باستخدام ، على سبيل المثال ، أداة التحويل من مجموعة ImageMagick ، ​​أضف البيانات الوصفية إلى صورة الاختبار:

convert test.png -set 'Title' '1' -set 'Author' '2' -set 'Description' '3' -set 'Copyright' '4 '-set' وقت الإنشاء '' 5 '-set' Software '' 6 '-set' Disclaimer '' 7 '-set 'Warning' '8' -set 'Source' '9' -set 'Comment' '0' out.png

نحاول تحميل الصورة الناتجة إلى الموقع والاستمتاع بالنجاح:



اتضح أن حقول البيانات الوصفية اللازمة هي العنوان والوصف والمؤلف وحقوق الطبع والنشر.
بالمناسبة ، يمكن العثور على تلميح لهذا في تفريغ الذاكرة: يمكنك العثور على ذكر ملف mr_cat.png باستخدام التقلب.



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



المضي قدما: الآن يمكننا تحميل الملفات إلى الموقع ؛ ومع ذلك ، ماذا تعطي وكيف تبحث عن العلم؟ من المنطقي أن نفترض أنه بمجرد أن تكون البيانات الوصفية مطلوبة للتنزيل ، فمن الممكن استخدامها بطريقة ما لتخزين الملفات التي تم تنزيلها (على سبيل المثال ، كمفاتيح في قاعدة بيانات). مرحى! نحن نقترب من الحلوى: نحتاج إلى التحقق من الموقع لإمكانية إدخال SQL. نكتشف أنه إذا تم استبدال إحدى المعلمات بعلامة اقتباس مزدوجة (") ، فسيقوم الموقع بإعلامنا بوجود خطأ بدلاً من تحميل الصورة:



الآن نرى استعلام SQL نفسه ونفهم الحقول التي يمكن أن تعمل من أجل إنشاء حقن لاستخراج البيانات من قاعدة البيانات المستخدمة. أما بالنسبة لموقع العلم ، فمن المنطقي في هذه الحالة التحقق من أول صورة تم تحميلها على قاعدة البيانات. أيضًا ، أثناء عملية الحقن ، يجب الانتباه إلى حقيقة أن INSERT يتم تنفيذه في الطلب. يجبرنا هذا على إنشاء استعلامات محددة لأنه من المستحيل إجراء عملية SELECT صراحة من نفس الجدول الذي ندخل فيه في نفس وقت عملية الإدراج (INSERT).

دعنا نقدم طلبًا نسحب به وصف الصورة الأولى في قاعدة البيانات:

convert test1.png -set 'Title' '1' -set 'Author' '"، (SELECT description FROM (SELECT * FROM picture) AS x limit 0،1)) - -' -set 'Description' '3' - set 'Copyright' '4' test.png

قم بتحميل الصورة المستلمة إلى موقع الويب واحصل على الوصف في مجال حقوق الطبع والنشر ، وهي علامة:



مرحى ، تم الانتهاء من المهمة! نأمل أن نقنع الجميع بالتحقق مرة أخرى من إدخال المستخدم للمرة المليون والحفاظ عليها آمنة أيضًا تفاحة عينك من إنشاء ملف تفريغ لذاكرة الوصول العشوائي الخاصة بك :) قم
بإنهاء المقالة باقتباس من الحكماء العظماء:


All Articles