TGViewer
| AmirHossein | | AmirHossein | @amirhdeveloper · 611 subscribers
Post #88 117
#security #bug
دسته بندی Injection Attacks

باگ Code Injection یک نوع باگ امنیتی است که در برنامه‌ها و نرم‌افزارها رخ می‌دهد و اجازه می‌دهد که حمله‌کننده کد مخرب یا دستورات اجرایی را به طور غیرمجاز در برنامه اجرا کند. این حمله معمولاً به وسیله‌ی متغیرهای تزریق‌شده و ورودی‌های ناامن به برنامه انجام می‌شود. با استفاده از Code Injection، حمله‌کننده می‌تواند برنامه را کنترل کرده و اطلاعات محرمانه را فاش کند، دستورات اجرایی را اجرا کند یا عملیات‌های خرابکارانه دیگر انجام دهد.

مثال :

فرض کنید یک برنامه وب با زبان PHP نوشته شده است و قصد دارد یک فایل متنی را با استفاده از نام فایل که کاربر وارد می‌کند، نمایش دهد. کد PHP به صورت زیر است:
$filename = $_GET['filename'];
$file_contents = file_get_contents('/path/to/files/' . $filename);
echo $file_contents;

حمله‌کننده می‌تواند نام فایل خود را به صورت کد اجرایی وارد کند تا اجرای کد مخرب را فراهم آورد. به عنوان مثال:
my_file.txt'; echo "Hello, I am an attacker!"; exit; //

پس از اجرای برنامه، کد PHP به شکل زیر تبدیل می‌شود:

$filename = 'my_file.txt'; echo "Hello, I am an attacker!"; exit; //';
$file_contents = file_get_contents('/path/to/files/' . $filename);
echo $file_contents;

این باعث اجرای کد مخرب "Hello, I am an attacker!" می‌شود و برنامه به پایان می‌رسد.

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

1- همانند SQL Injection، استفاده از Prepared Statements می‌تواند از تزریق‌های کد و جلوگیری از Code Injection جلوگیری کند.

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

3- باید از تابع‌ها و دستوراتی که می‌توانند کدها را اجرا کنند، به‌عنوان ورودی در برنامه استفاده نکنید.

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

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

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

.
  • 👍 3
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 →