باگ sql

223.png

 

باگ sql زمانی رخ می دهد که برنامه نویس داده های ورودی را بدون کنترل مورد پردازش قرار دهد. نفوذگران از همین موضوع استفاده کرده و کنترل کامل سرور و یا تمامی سرور های موجود در آن شبکه را تحت کنترل خود در می آورند. پس هرکدی که از ورودی های کاربر برای جستجو در بانک اطلاعاتی بدون بررسی استفاده شود احتمال یک حمله موسوم به SQLI را دارد.
حال خواه این ورودی از طریق URL باشد( متد GET). خواه از طریق ارسال پست(متد POST).

در زیر شما کد مستعد SQLI را مشاهده می نمایید:

<?php
$q="select * from TABLE where id=".$_GET['id'];
$q1=mysql_query($q);
?>

همانطور که مشاهده می کنید این کد همان ورودی که از URL را دریافت میکند به طور مستقیم مورد پردازش قرار می دهد و این یعنی نفوذگر می تواندبه طور مستقیم دستورات خود را وارد نماید تا توسط سرور مورد پردازش قرار گیرد. این یعنی فاجعه! زیرا باگ SQLI یکی از خطرناک ترین باگهاست.

اگر نفوذگر کد زیر را به انتهای URL خود وارد کند چه اتفاقی می افتد؟؟؟

کد:
union select user from admin
بوسیله دستور union دو دستور select را به هم اضاف می کند و باعث می شود یوزرهایی که در جدول ادمین قرار دارند را مشاهده کند!

در پست های بعدی با روش ها مختلف جلوگیری از این حلات آشنا خواهید شد.

 

برچسب ها

ارسال نظر

نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتی