اخترق في 60 ثانية أو جنون الحجر الصحي

قصة قصيرة عن عميل غير ملائم والعثور على ثغرة أمنية في موقع في دقيقة واحدة .

صورة

لم أكن أتوقع أن تكون هذه القصة بالتحديد مقالتي الأولى عن حبري. أنا أكتب بينما الجو حار!

كل ما تقرأه أكثر ليس دعوة إلى العمل أو محاولة "المساومة" على أي شخص.

5 أبريل 2020.
رأيت رسالة في ينكدين : "مساء الخير. نحن نبحث عن مطور للانتهاء من المشروع على yii2 ... هاتف: + 79 ... whatsapp "

نشر في whatsapp :" يوم جيد. أنا من ينكدين ، أرسل المعارف التقليدية ، إن وجدت ".
ورداً على ذلك ، تلقى رسالة ضخمة تحتوي على روابط إلى الموقع ولوحة في trello والمعارف التقليدية الصغيرة.

صورة

درس trello . وفقا للمجلس ، عمل 4 مطورين على الأقل في المشروع.

6 أبريل 2020

بسبب الحجر ، في رأيي ، بدأ الناس بالجنون. هذا ما رأيته في WhatsApp عندما استيقظت:

صورة

يبدو أن كل شيء لا شيء ، اقرأ ونسي. لكن شيئًا ما في الداخل لا يعطي راحة ، كان هناك شعور بعدم الاكتمال ، والذي أردت حقًا التخلص منه.

لم يبق شيء سوى الدخول في مشروع "الجاني" والتخلص من الأحاسيس غير السارة في الداخل: د.

بدأ العد التنازلي.

00:00

أفتح الموقع.

أرى نموذج البحث ومحاولة للتحقق من حقن SQL أنا سابقا عرف :

' UNION SELECT
1,group_concat(username,0x7c,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
fRom user-- -

كما هو متوقع - لا يعمل ، ولكنه كان يستحق المحاولة.

00:20

موقع لديه الفرصة لتسجيل بطريقتين: بوصفها المستخدم ونتيجة ل شركة .

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

املأ الحقول حيث تسمح الجبهة بالخطوط

SELECT * FROM users;

فقط لتعزيز "تأثير التواجد" للمطورين عندما ينظرون إلى قاعدة البيانات.

00:40

بعد نجاح التسجيل ، سيتم إعادة توجيهنا إلى صفحة الملف الشخصي للشركة .
افتح عنصر القائمة "تحميل المستندات" (مريح للغاية ، أليس كذلك: D) وحاول تحميل ملف php .

صورة

أولاً قمت بتنزيل adminer.php ، كما كان في متناول اليد. تم تحميل الملف بنجاح وأعد لي المطورون بعناية إعادة توجيه إلى الصفحة برابط إلى الملف.

صورة

فتحت بواسطة الرابط: /upload/certified/15861775921.phpوعملت بشكل صحيح.

لقد كانت هذه بداية النهاية!

1:00 بعد

ذلك ، قم بتحميل أبسط برنامج php-web-shell من خلال نفس النموذج.

تحتاج أولاً إلى فهم من نحن وأين نحن:

pwd && whoami

صورة

دعنا نرى قائمة ملفات دليل الموقع:

ls /var/www/admin/data/www/_/

صورة

نرى الهيكل القياسي لإطار Yii2 ، الذي توقعناه هناك.

يمكننا الوصول إلى قاعدة البيانات ، والتي يمكن إدخالها في adminer.php الذي تم تحميله مسبقًا :

cat /var/www/admin/data/www/_/config/db.php

صورة

في الواقع ، لقد فوجئت بأن نقاط الضعف هذه لا تزال موجودة. وأكثر من ذلك لأنه يمكن العثور عليها بسهولة وبسرعة.

بالمناسبة ، كان هذا مشروعًا لشركة واحدة من دولة الإمارات العربية المتحدة ، تقوم بتوريد منتجات الحفر والمنتجات الصناعية لصناعات النفط والغاز والحفر.

تمت إضافتي إلى القائمة السوداء في WhatsApp بعد الرسالة الأخيرة ولم أتمكن من التحدث عن الثغرة الأمنية ، لذلك تركت بيض عيد الفصح على الخادم للمطورين.

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

All Articles