سیسرف (به انگلیسی: CSRF) سرواژهای برای جعل درخواست میانوبگاهی، نوعی از حملات اینترنتی از خانوادهٔ تزریق اسکریپت از طریق وبگاه است. به عبارت دیگر جعل درخواست میان وب سایتی یا CSRF (که به آن XSRF هم گفته میشود)، کوتاهشدهی Cross-Site Request Forgery یک آسیبپذیری وب است که مهاجم با استفاده از آن میتواند کاری کند که کاربران اقداماتی را انجام دهند که قصد انجام آنها را نداشتهاند.[۱] در این نوع از حملات کاربری که در یک نرمافزار کاربردی وب ثبت ورود کردهاست را مجبور به فرستادن یک درخواست به آن نرمافزار تحت وب آسیبپذیر میکنند تا عملی که میخواهند را انجام دهد. برای نمونه اگر کاربری همزمان در حساب رایانامهٔ خود و حساب بانکیاش ثبت ورود کرده باشد، حملهکننده برای کاربر رایانامهای ارسال میکند که بیان میکند اطلاعات بانکی او نیازمند بهروزرسانی از طریق یک پیوند است، با کلیک کردن روی پیوند، بدون اینکه کاربر خودش آگاه باشد و به صورت خودکار درخواستی برای انتقال وجه از یک حساب به حساب دیگر به نرمافزار بانک فرستاده میشود و در اینجا اگر نرمافزار بانک بدون اعتبارسنجی درخواست را پردازش کند متوجه جعلیبودن درخواست نخواهد شد. این روش نفوذ در سالهای اخیر توجه زیادی را به خود جلب کردهاست و به عنوان نوعی حملهٔ ویرانگر اینترنتی شناخته میشود.[۲]
باید توجه داشت که جعل درخواست میانوبگاهی برای گرفتن پاسخ کافی نیست و حمله کننده نمیتواند پاسخ نرمافزار وب به درخواست جعلشدهاش را مستقیماً ببیند، حملهکننده مجبور است برای گرفتن پاسخ یک پرسمان اسکیوال را تزریق کند تا بتواند نتیجهٔ دلخواهش را بدست آورد.[۳]
حمله کننده برای اجرای کد اسکیوال مورد نظرش میتواند از هر دو متد GET و POST (با استفاده از جاوااسکریپت) استفاده کند. تنها راه جلوگیری از انجام این نوع حملات استفاده از یک بهامُهرِ[و ۱] گذرا و مختص به همان نشست[و ۲] (افزون بر کلوچک[و ۳] نشست) است که نیاز باشد هنگام ارسال فرمها آن را درستیسنجی کرد.[۴]
برای پیشگیری و کاهش حملات CSRF برخی روشها وجود دارد که بهترین آنها عبارتند از:
حملات سیسرف یک حفرهٔ امنیتی متداول بهشمار میآیند که برای به دست آوردن اطلاعات از وبگاه آسیبپذیر به ضعفهای امنیتی موجود در فرایند اصالتسنجی وبگاهها و استفاده از کدهای مخرب وابسته هستند. در این نوع از حملات علاوه بر اینکه راهبرد روش عملیاتی استاندارد[و ۴] دور زده میشود، هویت قربانی نیز جعل میگردد. وبگاههایی که نسبت به این نوع از حملات آسیبپذیرند معمولاً آسیبپذیری ربایش جاوااسکریپت[و ۵] نیز دارند. بزرگترین تفاوت ربایش جاوااسکریپت و سیسرف در این است که در اولی از مفهوم قلاب[و ۶] در زبان جاوااسکریپت برای به دست آوردن اطلاعات خصوصی قربانی استفاده میشود، اما در دومی حمله با ارسال یک درخواست (مانند درخواست تغییر یک حسابهای کاربری، حذف داده و…) انجام میگردد. هرچند انجام حمله با روش سیسرف سادهتر است (عوامل محدودکنندهٔ کمتری دارد)، اما حملات روش جاوااسکریپت از نقاط ضعف ظریفتری بهره میجویند که شناساییشان سختتر است.[۶]