آموزش امنیت سایبری API REST با PHP - آخرین آپدیت

دانلود PHP REST API cybersecurity

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

امنیت PHP: مقابله با آسیب‌پذیری‌های رایج (XSS, XXE, SQLi و...)

آموزش جامع امنیت API در PHP: از مبتدی تا پیشرفته

آیا به دنبال ایمن‌سازی APIهای REST خود در PHP هستید؟ این دوره به شما کمک می‌کند تا در برابر آسیب‌پذیری‌های رایج مانند XSS، XXE، XML DoS، SSTI، CSRF، SSRF، RCE، SQLi، آسیب‌پذیری‌های JWT، احراز هویت API و نقص‌های سریال‌سازی محافظت کنید.

در این دوره، اهمیت مدیریت امن خطاها، پاسخ‌ها در توسعه API، مدیریت امن کلیدهای API و جلوگیری از دسترسی غیرمجاز را خواهید آموخت. همچنین، با آسیب‌پذیری‌های اصلی فرمت XML (DoS، XXE، RCE) و نحوه دفاع در برابر آن‌ها آشنا خواهید شد.

آنچه در این دوره خواهید آموخت:

  • نحوه ایمن‌سازی APIهای REST در PHP در برابر آسیب‌پذیری‌های رایج.
  • اهمیت مدیریت امن خطاها و پاسخ‌ها در توسعه API.
  • نحوه ارائه صحیح مستندات API.
  • چرا فرمت JSON انتخاب بهتری نسبت به XML است.
  • آسیب‌پذیری‌های اصلی فرمت XML (DoS، XXE، RCE) و نحوه دفاع در برابر آن‌ها.
  • نحوه مدیریت امن کلیدهای API و جلوگیری از دسترسی غیرمجاز.
  • نحوه جلوگیری از حملات XSS (Cross-Site Scripting) و CSRF (Cross-Site Request Forgery) در APIهای خود.
  • نحوه کاهش اثر حملات SQL Injection، Command Injection و سایر حملات مبتنی بر تزریق.
  • نحوه مقابله با SSTI (Server-Side Template Injection) و Path Traversal.
  • چرا Command Injection به دلیل مقابله با حملات پیشرفته روز صفر بسیار خطرناک است.
  • نحوه مدیریت آسیب‌پذیری‌های سریال‌سازی و جلوگیری از آن‌ها در PHP.
  • بهترین شیوه‌ها برای ایمن‌سازی مجوزدهی و احراز هویت در برنامه‌های PHP، با تمرکز بر آسیب‌پذیری‌های JWT.
  • نحوه پیاده‌سازی محدودیت نرخ (Rate Limiting) و Throttling برای محافظت از APIها در برابر سوء استفاده.
  • نحوه ایمن‌سازی Webhookها و جلوگیری از آسیب‌پذیری‌های SSRF (Server-Side Request Forgery).
  • تمرین‌های کدنویسی عملی با بازسازی و رفع آسیب‌پذیری‌های دنیای واقعی.

پیش نیازها:

  • دانش پایه PHP و توسعه REST API.
  • آشنایی با مفاهیم توسعه وب (نیازی به تجربه امنیتی قبلی نیست).
  • نصب Docker و Docker Compose در سیستم عامل خود، دانش پایه Docker برای اجرای محیط.

توضیح مختصر:

این دوره به شما آموزش می‌دهد که چگونه APIهای REST خود را از ابتدا ایمن کنید. خواهید آموخت که چگونه از برنامه‌های خود در برابر آسیب‌پذیری‌های رایج مانند SQL Injection، XSS، CSRF، SSTI، Path Traversal، Command Injection و موارد دیگر محافظت کنید. این دوره بر مثال‌های کدنویسی عملی و کاربردی متمرکز است، جایی که حملات دنیای واقعی را بازسازی کرده و سپس بهترین شیوه‌ها را برای دفاع در برابر آن‌ها اعمال می‌کنید. در پایان دوره، درک کاملی از امنیت REST API PHP خواهید داشت و به شما کمک می‌کند APIهای ایمن‌تر و قوی‌تری بسازید.

ساختار دوره:

دوره با یک معرفی سریع به REST و PHP شروع می‌شود، با این فرض که دانش پایه‌ای از هر دو دارید. ما مستقیماً به مسائل امنیتی که بیشتر توسعه‌دهندگان هنگام ساخت APIهای REST با آن روبرو هستند، می‌پردازیم.

در چند بخش اول، ما بر روی خطاهای مستندسازی API، رفع اشکال و مدیریت خطا تمرکز می‌کنیم و نشان می‌دهیم که چگونه اشتباهات رایج می‌تواند منجر به آسیب‌پذیری‌های امنیتی شود. این جنبه‌ها اغلب نادیده گرفته می‌شوند، اما برای ساخت یک برنامه ایمن ضروری هستند.

سپس به فرمت‌های داده مورد استفاده در APIهای REST، با تمرکز بر JSON، XML و YAML خواهیم پرداخت. ما بررسی خواهیم کرد که چگونه این فرمت‌ها می‌توانند نقص‌های امنیتی مانند XXE/DoS را ایجاد کنند و در مورد چگونگی کاهش این خطرات بحث خواهیم کرد.

در مرحله بعد، برخی از رایج‌ترین آسیب‌پذیری‌ها مانند XSS، CSRF، SSTI، SQL Injection، Command Injection و Path Traversal را پوشش خواهیم داد. هر آسیب‌پذیری با یک تئوری مختصر توضیح داده می‌شود و پس از آن تمرین‌های کدنویسی عملی وجود دارد که در آن حمله را شبیه‌سازی می‌کنید، مکانیسم آن را درک می‌کنید و نحوه دفاع در برابر آن را یاد می‌گیرید.

یک بخش متمرکز وجود دارد که در آن در مورد آسیب‌پذیری‌های سریال‌سازی و نحوه جلوگیری از آن‌ها در PHP بحث خواهیم کرد و شیوه‌های مدیریت امن خطا و پاسخ را پوشش می‌دهیم.

در بخش‌های بعدی، در مورد آسیب‌پذیری‌های مجوزدهی و احراز هویت، با تمرکز ویژه بر JWT (JSON Web Tokens) بحث خواهیم کرد. یاد خواهید گرفت که چگونه احراز هویت مبتنی بر توکن را به طور ایمن پیاده‌سازی کنید و در برابر آسیب‌پذیری‌های JWT محافظت کنید.

سپس دوره به محدودیت نرخ و Throttle کردن می‌پردازد و به شما نشان می‌دهد که چگونه از سوء استفاده جلوگیری کنید و حملات منع سرویس را کاهش دهید. همچنین یاد خواهید گرفت که چگونه Webhookها را ایمن کنید و از آسیب‌پذیری‌های SSRF جلوگیری کنید.

در طول دوره، مثال‌های عملی و مطالعات موردی دنیای واقعی را از تجربه خودم ارائه خواهم داد و دیدگاه داخلی از چگونگی بهره‌برداری از آسیب‌پذیری‌ها و نحوه محافظت در برابر آن‌ها به شما ارائه می‌دهم. همچنین این فرصت را خواهید داشت که حملات را در یک محیط امن و کنترل شده بازسازی کنید و تکنیک‌های دفاعی را در زمان واقعی اعمال کنید.

این دوره برای چه کسانی مناسب است:

  • توسعه‌دهندگان PHP که به دنبال بهبود مهارت‌های امنیتی خود و محافظت از APIهای خود هستند.
  • توسعه‌دهندگان وب که می‌خواهند درک خود را از بهترین شیوه‌های امنیتی برای APIهای REST عمیق‌تر کنند.
  • متخصصان امنیتی علاقه‌مند به PHP و امنیت برنامه وب.
  • تست‌کنندگان نفوذ که می‌خواهند در امنیت PHP تخصص داشته باشند.
  • دانشجویان و علاقه‌مندانی که مشتاق یادگیری در مورد امنیت برنامه وب در زمینه توسعه PHP هستند.

سرفصل ها و درس ها

Introduction

  • ویدیوی معرفی تبلیغاتی Promo introduction video

  • درباره من و تجربه امنیت سایبری About me and cyber security experience

  • ساختار دوره و چگونگی اتمام آن ۲ برابر سریع‌تر در صورت کمبود زمان Course structure & how to finish it 2x faster if you're short on time

مروری بر REST API و محیط محلی REST API overview and local environment

  • مقدمه‌ای بر معماری و اصول REST Introduction to REST architecture and principles

  • اسکلت محیط محلی Local environment skeleton

عدم رسمیت‌بخشی به REST API Lack of REST API formalization

  • تئوری: عدم رسمیت‌بخشی به REST API Theory: Lack of REST API formalization

  • تمرین عملی آسیب‌پذیری X-HTTP-Method-Override X-HTTP-Method-Override vulnerability practice example

  • بهترین روش‌ها برای جلوگیری از مشکلات رسمیت‌بخشی REST، اصلاح کد - بخش ۱ Best practices to avoid problems with REST formalization, code fixes - part 1

  • بهترین روش‌ها برای جلوگیری از مشکلات رسمیت‌بخشی REST، اصلاح کد - بخش ۲ Best practices to avoid problems with REST formalization, code fixes - part 2

آیا پنهان کردن مستندات API ارزش دارد؟ Is it worth to hide API documentation?

  • تئوری: مستندات API و پیامدهای امنیتی افشای آن Theory: API documentation and security implications of it's exposing

  • تمرین: چگونگی مدیریت دسترسی به API - بخش ۱، Swagger Practice: How to manage API accessibility - part 1, swagger

  • تمرین: چگونگی مدیریت دسترسی به API - بخش ۲، dotenv + بازسازی مسیر Practice: How to manage API accessibility - part 2, dotenv + route refactor

  • تمرین: چگونگی مدیریت دسترسی به API - بخش ۳، کلاس مستندات API Practice: How to manage API accessibility - part 3, api doc class

  • تمرین: چگونگی مدیریت دسترسی به API - بخش ۴، تست‌ها + لایه DevOps Practice: How to manage API accessibility - part 4, tests + devops layer

حالت Debug و مدیریت خطا Debug mode and error handling

  • تئوری: اطلاعات Debug به عنوان آسیب‌پذیری امنیتی Theory: Debug information as security vulnerability

  • تمرین: تنظیم حالت Debug Practice: Debug mode setup

  • تئوری: مدیریت خطا و مدیریت پاسخ Theory: error handling and response management

  • تمرین: مدیریت خطا - بخش ۱ Practice: Error handling - part 1

  • تمرین: مدیریت خطا و توصیه‌های نهایی - بخش ۲ Practice: Practice: Error handling and final recommendations - part 2

آسیب‌پذیری‌های کلیدهای API API Keys Vulnerabilities

  • تئوری: آسیب‌پذیری‌های کلیدهای API و بهترین روش‌ها Theory: API Keys Vulnerabilities and best practices

  • تمرین: انتقال کلید API به env، بهبودهای امنیتی Practice: move API key to env, security improvements

  • اعلامیه: تغییر استراتژی Announcement: change of strategy

فرمت‌های قابل قبول API (JSON/XML/YAML) و آسیب‌پذیری‌های مرتبط با آن‌ها Formats API accepts (JSON/XML/YAML) and vulnerabilities related with that

  • تئوری: فرمت‌های داده ساختاریافته REST API و خطرات امنیتی آن‌ها Theory: REST API Structured Data Formats and Their Security Risks

  • تمرین: بازسازی برنامه برای استفاده از فرمت XML Practice: rebuild app to use xml format

  • تمرین: حمله Billion Laughs Practice: Billion Laughs Attack

  • تمرین: حمله Quadratic Blowup Practice: Quadratic Blowup Attack

  • تمرین: XXE Practice: XXE

  • تمرین: تزریق شیء منجر به اجرای کد از راه دور (RCE) Practice: Object Injection resulting in Remote Code Execution (RCE)

  • تمرین: بهترین روش‌های امنیتی Practice: best security practices

XSS XSS

  • تئوری: مقدمه‌ای بر اسکریپت‌نویسی بین‌سایتی (XSS) Theory: Introduction to Cross-Site Scripting (XSS)

  • تمرین: XSS بازتابی Practice: Reflected XSS

  • تمرین: XSS ذخیره‌شده بخش ۱ Practice: Stored XSS part 1

  • تمرین: XSS ذخیره‌شده بخش ۲ Practice: Stored XSS part 2

  • تمرین: XSS مبتنی بر فایل Practice: File-based XSS

CSRF CSRF

  • تئوری: جعل درخواست بین‌سایتی (CSRF) با افزودنی SSRF Theory: Cross-Site Request Forgery (CSRF) with SSRF pepper

  • تمرین: CSRF - بخش ۱ Practice: CSRF - part 1

  • تمرین: CSRF - بخش ۲ Practice: CSRF - part 2

SSTI SSTI

  • تئوری: SSTI (تزریق الگو در سمت سرور) Theory: SSTI (Server-Side Template Injection)

  • تمرین: SSTI بخش ۱ Practice - SSTI part 1

  • تمرین: SSTI بخش ۲ Practice - SSTI part 2

پیمایش مسیر (Path Traversal) Path Traversal

  • تئوری: آسیب‌پذیری Path Traversal در امنیت سایبری Theory: Path Traversal Vulnerability in Cybersecurity

  • تمرین: حمله Path Traversal و نحوه جلوگیری از آن Practice: Path Traversal attack and how to prevent it

تزریق فرمان (Command Injection) Command Injection

  • تئوری: Command Injection - بردارهای اصلی حمله Theory: Command Injection - main attack vectors

  • تمرین: Command Injection - بخش ۱، محیط Practice: Command Injection - part 1, environment

  • تمرین: Command Injection - بخش ۲، آسیب‌پذیری روز صفر Practice: Command Injection - part 2, zero-day vulnerability

  • خلاصه - اقدامات ضد روز صفر و واقعیت‌های تلخ Summary - Anti zero days measures and sad realities

SQL Injection (SQLi) (تزریق SQL) SQL Injection (SQLi)

  • تمرین: محیط محلی - MySQL، phpMyAdmin، ساختار کد پایه Practice: Local env - mysql, phpmyadmin, base code structure

  • تمرین: کلاس SQL Injection Practice: SQLInjection class

  • تمرین: مقدمه‌ای بر SQL Injection Practice: Introduction to SQL injection

  • تمرین: SQL Injection مبتنی بر Union Practice: Union-Based SQL Injection

  • تمرین: SQL Injection کور مبتنی بر محتوا Practice: Blind Content-Based SQL Injection

  • تمرین: SQL Injection کور مبتنی بر زمان Practice: Blind Time-Based SQL Injection

  • تئوری: پیامدهای SQL Injection و بهترین روش‌ها Theory: SQL Injection Consequences and Best Practices

  • تمرین: اعمال بهترین روش‌های امنیتی علیه SQL Injection Practice: apply best security practices against SQL injection

آسیب‌پذیری‌های Deserialization در PHP PHP Deserialization Vulnerabilities

  • تئوری: Deserialization در PHP Theory: PHP Deserialization

  • تمرین: بهره‌برداری از آسیب‌پذیری‌های Deserialization - بخش ۱ Practice: Exploiting Deserialization Vulnerabilities - part 1

  • تمرین: بهره‌برداری از آسیب‌پذیری‌های Deserialization - بخش ۲ Practice: Exploiting Deserialization Vulnerabilities - part 2

  • تمرین: بهره‌برداری از آسیب‌پذیری‌های Deserialization - بخش ۳ Practice: Exploiting Deserialization Vulnerabilities - part 3

  • تمرین: بهره‌برداری از آسیب‌پذیری‌های Deserialization - بخش ۴ Practice: Exploiting Deserialization Vulnerabilities - part 4

آسیب‌پذیری‌های احراز هویت و شناسایی Authorization and Identification Vulnerabilities

  • برگه‌ی راهنما: آسیب‌پذیری‌های احراز هویت، اعطای مجوز و مدیریت نشست Cheat Sheet: Authentication, Authorization & Session Management Vulnerabilities

  • تمرین: حملات شمارشی - بخش ۱ Practice: enumeration attacks - part 1

  • تمرین: حملات شمارشی - بخش ۲ Practice: enumeration attacks - part 2

  • تمرین: IDOR بخش ۱ Practice: IDOR part 1

  • تمرین: IDOR بخش ۲ Practice: IDOR part 2

آسیب‌پذیری‌های JWT JWT Vulnerabilities

  • تئوری: آسیب‌پذیری‌های JWT Theory: JWT Vulnerabilities

  • تمرین: بهترین روش‌ها برای امنیت JWT - بخش ۱ Practice: Best Practices for JWT Security - part 1

  • تمرین: بهترین روش‌ها برای امنیت JWT - بخش ۲ Practice: Best Practices for JWT Security - part 2

محدودیت نرخ (Rate Limiting) و کنترل جریان (Throttling) Rate Limiting and Throttling

  • تئوری: محدودیت نرخ (Rate Limiting) و کنترل جریان (Throttling) Theory: Rate Limiting and Throttling

  • تمرین: محدودیت نرخ (Rate Limiting) Practice: Rate Limiting

وب‌هوک‌ها Webhooks

  • تئوری: وب‌هوک‌ها Theory: Webhooks

  • تمرین: وب‌هوک‌ها Practice: Webhooks

فایل‌های پنهان و CORS Hidden files & CORS

  • فایل‌های پنهان Hidden files

  • تئوری CORS CORS theory

  • سخنرانی عملی CORS در مرحله ویرایش است - باید تا ۲۸ آوریل آماده شود CORS practice lecture is at editing stage - it should be ready up to 28th April

اطلاعات تکمیلی Additional info

  • پرسشنامه PHP REST API PHP REST API Questionnaire

بخش جایزه Bonus Section

  • سخنرانی جایزه Bonus Lecture

نمایش نظرات

آموزش امنیت سایبری API REST با PHP
جزییات دوره
5.5 hours
76
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
4,666
4.9 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Sergii Demianchuk Sergii Demianchuk

CTO/معمار سیستم