TGViewer
| AmirHossein | | AmirHossein | @amirhdeveloper · 611 subscribers
Post #149 441
#security #attacks

حملات تزریق - Injection Attacks

حملات تزریق به دسته‌ای از حملات سایبری اشاره دارند که در آن مهاجمان داده‌های مخرب یا نفوذی را به سیستم وارد می‌کنند. این داده‌ها به صورت غیرمجاز به برنامه‌ها یا سیستم‌ها ارسال می‌شوند.

4 نوع از حملات تزریقی و روش های جلوگیری از آنها توضیح داده شده که از لینک های زیر میتونید بخونید:
SQL Injection
Code Injection
Command Injection
XML External Entity (XXE) Injection

تمامی موارد در لینک های بالا به صورت جامع توضیح داده شده ولی یک مثال دیگه میزنم که اگر نخواستید اون هارو نخونید. هرچند که بهتره بخونید.

مثال:

فرض
کنید یک وب‌سایت دارای صفحه‌ای است که کاربران می‌توانند با وارد کردن نام کاربری خود، اطلاعات حساب کاربری خود را مشاهده کنند. وب‌سایت ممکن است از دیتابیسی استفاده کند که دارای جدولی با نام "users" است. حالا فرض کنید کد PHP این صفحه به صورت زیر باشد:
$username = $_POST['username'];
$query = "SELECT * FROM users WHERE username='$username'";

حمله‌کننده می‌تواند در فیلد ورودی نام کاربری خود را وارد کند و در عین حال یک دستور SQL مخرب به طور همزمان وارد کند. به عنوان مثال:
' OR '1'='1' --

پس از اجرای کوئری، دستور SQL به شکل زیر تبدیل می‌شود:
SELECT * FROM users WHERE username='' OR '1'='1' --'

این دستور SQL به معنی "انتخاب همه ردیف‌ها از جدول کاربران (users) در صورتی که '1' برابر با '1' باشد" است. همچنین، بخش -- کامنت کننده باقی‌مانده‌ی دستور SQL است و هر چیزی پس از آن نادیده گرفته می‌شود.

روش های جلوگیری:

1- استفاده از Prepared Statements می‌تواند از تزریق‌ها جلوگیری کند. در Prepared Statements، جدا از دستور اصلی، پارامتر‌ها به صورت جداگانه ارسال می‌شوند و در زمان اجرا دستور جایگزین مقادیر ورودی می‌شوند.

2- برنامه‌نویسان باید ورودی‌ها را با دقت فیلتر سازی و تقویت کنند. این کار شامل حذف و یا اسکیپ کردن کاراکترهای غیرمجاز است.

3- اطمینان حاصل کنید که کاربران و برنامه‌ها فقط به سطح دسترسی لازم برای انجام کارهای خود دسترسی دارند.

4- اطلاعات خطا در وب‌سایت‌ها نباید جزئیاتی از دیتابیس یا سیستم را فاش کند.

5- مطمئن شوید که نسخه‌های مورد استفاده از دیتابیس و کتاب‌خانه‌های آن به‌روز هستند.


@AmirhDeveloper
.
  • 🔥 6
More from @amirhdeveloper
  1. Sep 30, 2026پکیج LaraGram Sentinel منتشر شد؛ یک پنل مانیتورینگ که هیچ چیزی از زیر دستش در نمی‌ره! تمام…
  2. Sep 23, 2026از امروز با کاهش شدید حاکرها مواجه میشیم
  3. Sep 19, 2026🔴 سوال سوم دو Region دارید: US-East و EU-West. کاربران در هر دو Region هستند. سیستم باید…
  4. Sep 19, 2026🟠 سوال دوم فرض کنید Service A به Service B درخواست می‌زند. B به‌دلیل overload، latency با…
  5. Sep 19, 2026🟢 سوال اول فرض کنید یک سرویس backend داریم که به PostgreSQL وصل می‌شود. تعداد requestها ن…
  6. Sep 19, 2026خیلی وقته پست‌های کانال فقط درمورد LaraGram بوده، وقتشه یکم جالب‌ترش کنیم اگر ممبرها هنوز…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →