1- sql injection الحقن بجمل sql
اشهر انواع الثغرات و اخطرها ! , هذه الثغره تظهر في البرامج التي تستخدم "قواعد البيانات" في عملها , محركات قواعد البيانات مثل MySQL , MSSQL , Oracle و غيرها تستخدم لغه واحده من اجل استعلاماتها و تسمى هذه اللغه بـ SQL
وهي أشد انواع الثغرات خطوراً حيث أنه يمكن اختراق الحسابات في موقعك , على سبيل المثال , انك تملك يحتوي على اسم مستحدم وكلمة سر لصغحات معينة , سيكون برنامجك كالاتي:
كود PHP:
$user_name="swalif";
$password="softs";
$query = "SELECT * FROM users WHERE user='$user_name' AND password='$password'";
mysql_query($query);
تخيل لو ان كلمة السر أصبحت
كود PHP:
$password="' OR ''='";
ستصبح أوامر ال sql
كود PHP:
$query = "SELECT * FROM users WHERE user='swalif' AND password='' OR ''=''
";
mysql_query($query);
بهذه الطريقة يكون قد استطاع الدخول لاقسام برنامجك المختبفة دون الحاجة لاسم المستخدم أو كلمة السر الصحيحة.
ولا يتوقف الأمر عند ذلك فقط , تخيل لو أنه قام بادخال هذه الجملة على أنها كلمة سر:
كود PHP:
$password="'; DROP DATABASE database_name;"
سيصبح الأمر البرمجي:
كود PHP:
$query = "SELECT * FROM users WHERE user='swalif' AND password=''; DROP DATABASE database_nam";
mysql_query($query);
تخيل الان ماذا حصل لموقعك ؟
تم حذف قاعدة البيانات بشكل كامل من الموقع .