TGViewer
| AmirHossein | | AmirHossein | @amirhdeveloper · 610 subscribers
Post #97 119
#security #bug
دسته بندی
Authentication and Session Management Vulnerabilities

باگ Insecure Deserialization یک نوع باگ امنیتی است که در آن داده‌های سریالایز شده به صورت ناامن به شئ ها یا داده‌های قابل استفاده تبدیل می‌شوند. این باگ معمولاً زمانی رخ می‌دهد که برنامه‌ها از ساختار‌های مانند JSON، XML، یا دیگر فرمت‌های سریالایز شده شده برای انتقال و ذخیره‌سازی داده‌ها استفاده می‌کنند و نقاط ضعفی در تجزیه و تحلیل این داده‌ها دارند.

مثال:

فرض کنید یک وب‌سایت فروشگاهی از ساختار JSON برای ذخیره و نمایش محصولات استفاده می‌کند. در این صورت می‌تواند از یک متد ساده برای تجزیه و تحلیل داده‌های JSON و نمایش محصولات استفاده کند.

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = $_POST['data'];
$decoded_data = json_decode($data);

foreach ($decoded_data['products'] as $product) {
echo 'Product Name : ' . $product['name'] . '<br>';
echo 'Price: ' . $product['price'] . '<br>';
echo '----------------------<br>';
}
}

حمله‌کننده می‌تواند با تغییر داده‌های JSON و اضافه کردن فیلدهای جدید، داده‌های تقلبی (مثل تغییر قیمت یک محصول به مقدار منفی) ارسال کند:

{"products": [{"name": "LapTop", "price": 15000000}, {"name": "Mobile", "price": -5000000}]}

وقتی برنامه‌ این داده‌ها را تجزیه و تحلیل می‌کند و به شئ تبدیل می‌کند، مقدار منفی قیمت گوشی را نیز نمایش می‌دهد که باعث ایجاد اطلاعات تقلبی یا اشکال در سیستم می‌شود.

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

1- از زبان‌های محدود و امکانات نیمه‌ای استفاده کنید تا دسترسی حساس به سیستم را محدود کنید.

2- داده‌های ارسالی از سمت کاربر را اعتبارسنجی کنید و تنها داده‌های معتبر و مجاز را تجزیه و تحلیل کنید.

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

4- از ساختار‌های سریالایزینگ محدود و امن استفاده کنید که دسترسی به محتوای حساس را محدود کند.

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

.
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 →