Hidden pain
08-20-2011, 09:20 PM
السلام عليكم
تعتبر ثغرات Auth Bypass من الثغرات الشائعة جدا
و هي نوع من انواع حقن ال SQL
و للذين لا يعرفونه هو يسمح لك بالدخول على عضوية او لوحة تحكم مصابة به
فكرتها بسيطة جدا فقط تحتاج معرفة صغيرة في ال PHP و في ال SQL
نبدأ على بركة الله
<?php
echo '<form method="post">
your name : <input name="username" style="width: 205px" type="text" /><br />your pass : <input name="password" style="width: 205px" type="text" />
<br />
<input name="ok" type="submit" value="ok" /></form>
';
if ($_POST['ok']){
$sql = "SELECT * FROM users WHERE username='" . $_POST['username'] . "' AND
password='" . $POST_['password'] . "'";
response = mysql_query($sql);
}
?>هذا كود نضام دخول بسيط
طبعا بعد ارفاق الملف الذي يسجل الدخول على اعدة البيانات
رح يقوم هاذا الكود او ال query بالأصح بمقارنة البيانات المطلوبة بالبيانات في القاعدة
طبعا تطابق البيانات هو ما يسمح لنا بسجيل الدخول على أي شيئ لوحة تحكم عضوية في منتدى أي شيئ فيه نضام دخول عموما
أخذ ال query و نحلله
$sql = "SELECT * FROM users WHERE username='" . $_POST['username'] . "' AND
password='" . $POST_['password'] . "'";لو تلاحضون هنا يتأكد من الاسم يدخل الاسم المراد التأكد منه
username='" . $_POST['username'] . "'يعني لو تحط الاسم hidden pain
رح تصير هكذا
username='hidden pain'تمام
و هاذا للتحق من الباس
password='" . $POST_['password'] . "'و لو ندخل الباس 123456 رح يصير كذا
password='123456'كذا ارجو انكم فهمتم جزء ال php
ندخل على السيكول
نستبدل اي بيانات نريدها بهاذا الكود رح نشرحه
2' OR 'a'='aمثلا ر اجربه ف الباس و رح تصبح ذا
password='2' OR 'a'='a'شوفو الحيلة هنا رح يشوف الباس لو كانت 2 رح يسجل الدخول عادي
و لو ما كانت 2 رح ينتقل للشرط اللي اضفناه 'OR 'a'='a
و طبعا الشرط متحقق لأن ال string
a = a
و هكدا تم الدخول تمام
و نفس الحيلة للاسم
و هنا السلام عليكم و رحمة الله تعالى و بركاته
تعتبر ثغرات Auth Bypass من الثغرات الشائعة جدا
و هي نوع من انواع حقن ال SQL
و للذين لا يعرفونه هو يسمح لك بالدخول على عضوية او لوحة تحكم مصابة به
فكرتها بسيطة جدا فقط تحتاج معرفة صغيرة في ال PHP و في ال SQL
نبدأ على بركة الله
<?php
echo '<form method="post">
your name : <input name="username" style="width: 205px" type="text" /><br />your pass : <input name="password" style="width: 205px" type="text" />
<br />
<input name="ok" type="submit" value="ok" /></form>
';
if ($_POST['ok']){
$sql = "SELECT * FROM users WHERE username='" . $_POST['username'] . "' AND
password='" . $POST_['password'] . "'";
response = mysql_query($sql);
}
?>هذا كود نضام دخول بسيط
طبعا بعد ارفاق الملف الذي يسجل الدخول على اعدة البيانات
رح يقوم هاذا الكود او ال query بالأصح بمقارنة البيانات المطلوبة بالبيانات في القاعدة
طبعا تطابق البيانات هو ما يسمح لنا بسجيل الدخول على أي شيئ لوحة تحكم عضوية في منتدى أي شيئ فيه نضام دخول عموما
أخذ ال query و نحلله
$sql = "SELECT * FROM users WHERE username='" . $_POST['username'] . "' AND
password='" . $POST_['password'] . "'";لو تلاحضون هنا يتأكد من الاسم يدخل الاسم المراد التأكد منه
username='" . $_POST['username'] . "'يعني لو تحط الاسم hidden pain
رح تصير هكذا
username='hidden pain'تمام
و هاذا للتحق من الباس
password='" . $POST_['password'] . "'و لو ندخل الباس 123456 رح يصير كذا
password='123456'كذا ارجو انكم فهمتم جزء ال php
ندخل على السيكول
نستبدل اي بيانات نريدها بهاذا الكود رح نشرحه
2' OR 'a'='aمثلا ر اجربه ف الباس و رح تصبح ذا
password='2' OR 'a'='a'شوفو الحيلة هنا رح يشوف الباس لو كانت 2 رح يسجل الدخول عادي
و لو ما كانت 2 رح ينتقل للشرط اللي اضفناه 'OR 'a'='a
و طبعا الشرط متحقق لأن ال string
a = a
و هكدا تم الدخول تمام
و نفس الحيلة للاسم
و هنا السلام عليكم و رحمة الله تعالى و بركاته