امیرحسین مهاجرنیا
امیرحسین مهاجرنیا
خواندن ۱ دقیقه·۲ سال پیش

شناسایی آسیب پذیری SQL Injection


آسیب پذیری 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 میباشد یا خیر


با تشکر و سپاس فراوان

امیرحسین مهاجرنیا

sql injectionآسیب پذیری
شاید از این پست‌ها خوشتان بیاید