آسیب پذیری SQL Injection


شرح آسیب پذیری:

آسیب پذیری SQL Injection به این صورت رخ می دهد که بخشی از Query های SQL به جای Input کاربر یا همراه با آن به سمت سرور ارسال می گردد. در صورت Exploit موفقیت آمیز این آسیب پذیری، علاوه به فراهم شدن خواندن تمامی دیتاهای بانک اطلاعاتی برای مهاجم، امکاناتی از قبیل ارسال Query های Insert/Update/Delete و همچنین Write بر روی File System نیز برای مهاجم فراهم خواهد شد. لازم به ذکر است این آسیب پذیری به دلیل ضعف در پیاده سازی کدها در سیستم ایجاد می گردد و ارتباطی با امنیت بانک اطلاعاتی ندارد.

متد هایی که حمله SQL Injection با استفاده از آنها صورت می پذیرد به شرح زیر می باشد:

– Union
– Error Based
– Blind SQL Injection

متد Blind شامل دو مورد زیر می باشد:

– Boolean Based
– Time Based

چگونه این آسیب پذیری را رفع کنیم ؟

1) استفاده از Prepared Statements با استفاده از استفاده از Parameterized Queries
2) استفاده از Stored Procedures ها
3) استفاده از روش Whitelist Input Validation و مسدود سازی کاراکتر های غیر مجاز
4) استفاده از روش Escaping برای تمامی Input های دریافتی از کاربر
5) استفاده از مکانیزم های بازدارنده در WAF

میلاد خوشدل

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

نظر خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

10 + نه =


تگ های html مجاز به استفاده می باشند: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ارسال یک پیام