Injection قدیمی است؛ ولی گزارشهای پنتست هنوز پر از آن است — چون تیمها «فکر میکنند ORM کافی است».
الگوهای تکراری
1. ساخت کوئری با `+` یا template روی ورودی کاربر
2. `$queryRawUnsafe` / `execute` با رشتهٔ خام
3. فیلتر جستجو که مستقیم به ORDER BY میرود
4. کپی کد قدیمی در میکروسرویس جدید
دفاع عملی
- همیشه پارامتر bind
- لیست سفید برای sort/filter
- حداقل دسترسی DB برای کاربر اپ
- تست خودکار روی ورودیهای `' OR 1=1--`
درس محصول
باگ Injection معمولاً از عجلهٔ فیچر میآید نه از «نداشتن دانش». Code review و پنتست قبل از لانچ ارزانتر از incident است.
---
*منتشرشده برای سئوی فنی دامنه · ۱۴۰۵/۶/۱۵ · دسته: Bugs*