Sokan Academy

🛡️ «۱۰ گاف امنیتی که می‌تونه اپتو بترکونه!»

وقتی حرف از امنیت وب می‌شه، لیست OWASP Top 10 عملاً نقشه‌ی گنج مهاجمه 😈
ولی خب، اگه بدونی دنبال چی‌ می‌گردن، می‌تونی جلوشونو بگیری.

بیاین ببینیم هر کدوم از این ۱۰ تا توی Laravel چجوری ظاهر می‌شن و چطوری باید مهارشون کنیم:


🔒 1. Broken Access Control
یعنی: کاربر دسترسی به چیزی داشته باشه که نباید!

👀 مثال توی لاراول:
یه URL مثل /admin/users/1/delete بدون چک کردن نقش کاربر.

✅ راه‌حل: از Policy یا Gate استفاده کن. همیشه چک کن کاربر اجازه داره اون کار رو بکنه یا نه.


🧨 2. Cryptographic Failures (قبلاً: Sensitive Data Exposure)
یعنی: اطلاعات رمزنگاری نشده یا ضعیف استفاده بشه.

👀 مثال توی لاراول: ذخیره‌کردن پسورد بدون Hash یا ذخیره‌کردن توکن‌ها به صورت plaintext.

✅ راه‌حل: همیشه از bcrypt، argon2 یا Hash::make() استفاده کن.


🧪 3. Injection (SQL, Command, etc)
یعنی: داده‌ی کاربر مستقیم وارد دستورات بشه.

👀 مثال:

DB::select("SELECT * FROM users WHERE email = '$email'");


✅ راه‌حل: استفاده از query binding یا Eloquent:
 

User::where('email', $email)->first();


💻 4. Insecure Design
یعنی: معماری کلی اپ مشکل داره.

👀 مثال: دسترسی مستقیم به فایل‌ها بدون احراز هویت، یا نداشتن لاگین درست برای صفحات حساس.

✅ راه‌حل: امنیت رو از طراحی اول در نظر بگیر. Use-case و abuse-case رو مستند کن.


🔧 5. Security Misconfiguration
یعنی: تنظیمات پیش‌فرض یا ناقص باعث نفوذ می‌شن.

👀 مثال:

APP_DEBUG=true توی سرور

دسترسی به .env, .git, یا فایل‌های log

✅ راه‌حل:

همیشه APP_DEBUG=false توی production

پیکربندی درست سرور (nginx/apache) برای بستن فایل‌های حساس


💣 6. Vulnerable & Outdated Components
یعنی: استفاده از پکیج‌هایی که باگ امنیتی دارن.

👀 مثال: استفاده از پکیج‌هایی با CVE ثبت‌شده (مثلاً نسخه قدیمی Guzzle یا Laravel)

✅ راه‌حل:

composer outdated

composer audit

از ابزارهایی مثل Dependabot استفاده کن


🧵 7. Identification & Authentication Failures
یعنی: مشکلات در ورود، مدیریت سشن، یا رمز عبور

👀 مثال:

لاگین بدون محدودیت تلاش

پسورد ساده بدون validation

session hijacking

✅ راه‌حل:

Rate limiting با Laravel Throttle

استفاده از built-in Auth Laravel

اجبار به رمز قوی


🪠 8. Software & Data Integrity Failures
یعنی: عدم اطمینان از اینکه کدی که اجرا می‌شه سالمه.

👀 مثال:

اجرای فایل از CDN بدون Subresource Integrity

اتک به پکیج‌ها یا updateهای آلوده

✅ راه‌حل:

از پکیج‌هایی با امضای معتبر استفاده کن

فایل‌های حساس رو چک کن


🌐 9. Security Logging & Monitoring Failures
یعنی: وقتی اتفاق مشکوک بیفته، تو اصلاً خبر نداری!

👀 مثال: ورود ناموفق مشکوک، یا حذف داده بدون لاگ.

✅ راه‌حل:

از Log::info() و سیستم‌های مانیتورینگ استفاده کن

با ابزارهایی مثل Sentry یا Laravel Telescope لاگ کن


🕸️ 10. Server-Side Request Forgery (SSRF)
یعنی: وقتی اپ سرور خودش رو گول می‌زنه تا درخواست‌های داخلی بفرسته.

👀 مثال: کاربر یه URL می‌ده برای دانلود تصویر، ولی به جای اون می‌فرسته به localhost:8000

✅ راه‌حل:

ولیدیت کامل URLها

بلاک کردن IPهای داخلی (مثل 127.0.0.1) توی request‌ها


🧠 در یک جمله:
Laravel ابزار خوبیه، ولی اگه OWASP رو نشناسی، یه روز کارت می‌افته دستشون!

طراحی سایت

sokan-academy-footer-logo
کلیه حقوق مادی و معنوی این وب‌سایت متعلق به سکان آکادمی می باشد.