Server Side Template Injection

Server Side Template Injection

 Server Side Template Injection یاSSTIیک آسیب‌پذیری است که در آن مهاجم می‌تواند محتویاتی را که توسط موتور الگوبرداری ارائه می‌شود با محدودیت‌های کم یا بدون محدودیت کنترل کند و در واقع کدهای کنترل‌شده توسط مهاجم را ارائه کند. این آسیب‌پذیری از خانواده تکنیک‌های تزریق مانند XSS،CSRF  و SSRF است.

در مثال بسیار ساده ما، ما یک برنامه تحتFlaskداریم که در آن یک عبارت از آیتم‌ها در درون شی people گنجانده شده‌است.

در این مثال هیچ فرآیند پاکسازی یا Sanitation وجود ندارد، بنابراین یک مهاجم می‌تواند Reference را در اینجا کنترل کند و بدون هیچ محدودیتی کد موتور الگوبرداری خود را منتقل کند. این آسیب‌پذیری در زبان‌های دیگر نیز مانند جاوا، Struts و OGNL دیده شده‌است.

Template Injection: Discovery

کشف آسیب پذیریTemplate Injectionمی‌تواند شکل‌های مختلفی داشته باشد. با این حال، به نظر می‌رسد که روش عمومی از یک عملیات منطقی مانند ریاضی درTemplateاستفاده می‌کند. یک متغیر که تغییر می‌کند مکانیزمی است که برای تزریق استفاده می‌شود. موارد زیر به منظور شناسایی آسیب پذیریTemplate Injectionمفید هستند:

می‌توان با افزودن تصادفی } به انتهای هر درخواست، منجر به نمایش یک صفحه خطا شود که اطلاعاتی را در اختیار کاربر قرار دهد. این موضوع بسیار شبیه به تست تزریقSQL، که می‌تواند اطلاعات لازم به نفوذگر بدهد.