MagicLink
آموزش حل این لابراتوار بهصورت ویدیویی در یوتیوب منتشر شده است.
در این ویدیو قدمبهقدم چالش را حل میکنیم.
📌 معرفی
این پروژه یک لابراتوار آموزشی امنیت وب است که با هدف آشنایی عملی با فرآیند شناسایی، تحلیل و زنجیرهسازی آسیبپذیریها طراحی شده است.
برخلاف بسیاری از چالشهای آموزشی که تنها بر یک ضعف امنیتی متمرکز هستند، در این لابراتوار برای رسیدن به هدف نهایی باید چندین ضعف مختلف را شناسایی کرده و آنها را به یکدیگر متصل کنید.
در طول این چالش با مفاهیمی مانند Enumeration، احراز هویت مبتنی بر Magic Link، نشت اطلاعات و افزایش سطح دسترسی آشنا خواهید شد.
📖 داستان لابراتوار
در این سامانه کاربران میتوانند با استفاده از مکانیزم Magic Link وارد حساب کاربری خود شوند.
در نگاه اول همه چیز عادی به نظر میرسد، اما بررسی دقیقتر رفتار برنامه و پاسخهای سرور نشان میدهد که برخی اطلاعات بیش از حد مورد نیاز در اختیار کاربران قرار میگیرد.
شما باید با بررسی عملکرد سیستم، اطلاعات لازم را جمعآوری کرده و از آنها برای رسیدن به هدف نهایی استفاده کنید.
🎯 اهداف آموزشی
این لابراتوار برای تمرین مفاهیم زیر طراحی شده است:
- User Enumeration
- Information Disclosure
- تحلیل پاسخهای سرور
- بررسی امنیت Magic Link Authentication
- شناسایی ضعفهای مرتبط با احراز هویت
- Privilege Escalation
- زنجیرهسازی آسیبپذیریها (Vulnerability Chaining)
🏁 هدف چالش
هدف نهایی این چالش به دست آوردن Flag است.
اما رسیدن به فلگ ساده نیست. در طول مسیر باید:
- رفتار برنامه را تحلیل کنید
- پاسخهای مختلف سرور را بررسی نمایید
- اطلاعات مفید را استخراج کنید
- ضعفهای موجود در سیستم احراز هویت را شناسایی کنید
- به حساب Administrator دسترسی پیدا کنید
- و در نهایت راهی برای مشاهده فلگ پیدا کنید
تنها داشتن دسترسی به حساب Administrator برای حل کامل چالش کافی نخواهد بود.
🚀 راهاندازی
📋 پیشنیازها
- Python 3
- Git
📥 دریافت پروژه
پروژه را به یکی از روشهای زیر دریافت کنید:
- دانلود فایل ZIP از طریق دکمه دانلود همین صفحه
- دریافت از GitHub با دستور زیر:
git clone https://github.com/Aliziro2201/magicLink.git
cd magicLink
⚙️ اجرای Setup
برای راهاندازی کافی است فایل Setup را اجرا کنید:
python3 setup.py
یا در ویندوز:
python setup.py
اسکریپت Setup به صورت خودکار:
- سیستم عامل را تشخیص میدهد.
- محیط مجازی Python ایجاد میکند.
- وابستگیهای مورد نیاز را نصب میکند.
- برنامه Flask را اجرا میکند.
📝 تنظیم Hosts
برای عملکرد صحیح لابراتوار باید دامنه زیر را به فایل Hosts سیستم خود اضافه کنید:
127.0.0.1 tajansec.test
🐧 لینوکس
sudo nano /etc/hosts
🪟 ویندوز
C:\Windows\System32\drivers\etc\hosts
و سپس مقدار زیر را اضافه کنید:
127.0.0.1 tajansec.test
🌐 دسترسی به برنامه
پس از اجرای موفق پروژه، از طریق آدرس زیر وارد لابراتوار شوید:
http://tajansec.test:5000
🛑 توقف برنامه
برای متوقف کردن لابراتوار کافی است در ترمینال دستور زیر را وارد کنید:
finish
اگر در حین اجرا با مشکلی مواجه شدید یا پیشنهادی برای بهبود لابراتوار دارید، خوشحال میشم از طریق راههای ارتباطی بهم اطلاع بدید.