آسیب پذیری SQL Injection، یکی از مهم ترین و خطرناک ترین آسیب پذیری های موجود در زبان برنامه نویسی PHP میباشد .
برای شناسایی این آسیب پذیری اول از همه باید ساختار پارامتر های فراخوانی در PHP را بشناسید .
در PHP به دو صورت GET و POST اطلاعات را فراخوانی می کنیم .
در این مقاله قصد داریم آسیب پذیری SQL Injection را در متد GET شناسایی کنیم .
ساختار :
https://site.com/pagetitle.php?param=1
تحلیل پارامتر :
https://site.com آدرس وبسایت
pagetitle.php آدرس پیجی که در آن حضور دارید
param = 1 کوئری ارسالی به سمت دیتابیس
فرض کنید در یک سایت فروشگاهی قراردارید و کوئری به صورت زیر میباشد
mahsool.php?id=1
در صفحه محصولات دنبال محصول با id برابر با 1 هستیم .
برای اینکه متوجه شویم سایتی دارای آسیب پذیری SQL Injection هست یا خیر به صورت ذیل عمل میکنیم .
برای اجرای مرحله دوم لازم است آدرس را به صورت زیر وارد کرده و « ' » در انتهای آدرس قرار دهید .
https://site.com/mahsool.php?id=1 آدرس سایت
https://site.com/mahsool.php?id=1' بررسی وجود باگ
در صورتی که پس از فراخوانی سایت به درستی لود نشود این احتمال وجود دارد که سایت دارای باگ میباشد.
به همین راحتی میتوان بررسی کرد که آیا سایت دارای باگ SQL Injection میباشد یا خیر
با تشکر و سپاس فراوان
امیرحسین مهاجرنیا