ابو معمر الحجاج
09-10-2007, 07:48
السلام عليكم ورحمة الله وبركاته
كيف حال الاعضاء انشاء الله طيبين انا صراحة يؤسفني من بعض الهكرز الصعاليق مايعرفون الى للمنتديات العربية وانا هنا لما شفت انو منتداكم فيلو كذا ثغرة حبيت انبه الاستاذ ابو دنيا على هذا الموضوع واتمنى الاستفادة لجميع المنتديات العربية .
بسم الله الرحمن الرحيم
في الآونة الاخيرة رأينا الكثير من المنتديات تسقط امام اعيننا
لعل السبب وجود ثغرة جديدة لم تنشر بعد او لاسباب اخرى
ففكرت في كتابة موضوع يتحدث عن حماية المنتديات ايا كان نوعها
وتتم هذه الحماية بطرق سهلة لا تحتاج لجهد
وهذا النوع من الحماية يحمي منتداك من الثغرات والجديدة والقديمة والثغرات التي تأتي
في المستقبل حتى لو كان لدى المخترق كلمة سر مدير المنتدى!!
اولا: الكثير من المنتديات العربية تجعل مجلد ال admin كما هو ولا تغيره
لذلك يسهل دخول الى لوحة التحكم بمعرفة كلمة سر مدير الموقع لذا يجب تغييره
الى اي اسم اخر حتى لا يتم الدخول اليه.
ولكن وهذا يحتاج لأن تغير في بعض اكواد ال بي اتش بي حتى يتناسب مع ها التغيير
و هذا لا يكفي فمن الممكن تخمين مجلد ال admin باي طريقة او الحصول عليه لذا علينا
بحمايته اكثر وهذا ما تتحدث عنه الطريقة الثانية.
ثانيا:هذه الطريقة تعتمد على كتابة بعض اكواد ال php البسيطة في الشكل وكبيرة في الفعل
داخل ملف ال index.php الموجود في مجلد ال admin وهي عبارة عن كود يسأل المستخدم عن
كلمة السر واسم المستخدم غير اسم المستخدم وكلمة السر التي تخ المنتدى ولا يسمح لك بالدخول الا اذا
ادخلت كلمة السر واسم المستخدم الصحيحان الذي اخترتهما وهذا هو الكود:
PHP:
--------------------------------------------------------------------------------
if ($username=="Black Scorpion" and $password=="123456")
{
}
else
{
header("Location: adlogin.html");
}
--------------------------------------------------------------------------------
وفي الملف adlogin.html نكتب هذا الكود:
PHP:
--------------------------------------------------------------------------------
<form method="POST" action="index.php">
<input type="text" name="username" value="">
<input type="text" name="password" value="">
<input type="submit">
</form>
--------------------------------------------------------------------------------
شرح الكود:
اذا دخل المخترق الى لوحة اتحكم سوف يطلب منه اسم المستخدم وكلمة السر الخاصة بمدير الموقع
فاذا كانا صحيحين سوف ينتقل الى كود تسجيل الدخول الذي كتبته انا فاذا علمها فستطيع ان يدخل
اما اذا لم يعلمها فلن يدخل لوحة التحكم حتى لو كان كلمة سر مدير الموقع صحيحة.
ملاحظة:الملاحظة خاصة بمنتديات vb واذا احببت ان تجربها على منتديات اخرى ففهم الكود حتى تطبقها على
منتديات اخرى.
ابحث عن كلمة adminlog() في ملف ال index.php واجعل adminlog() بين كود تسجيل الدخول الذي انا كتبته
ويكون شكله النهائي هكذا:
PHP:
--------------------------------------------------------------------------------
if ($action=="") {
if ($username=="Black Scorpion" and $password=="123456")
{
adminlog();
}
else
{
header("Location: adlogin.html");
}
}
--------------------------------------------------------------------------------
وبهذه الطريقة عملنا كودين لتسجيل الدخول فاذا اخترق الاول فيصعب اختراق الثاني
واذا لم تكتفي بهذه فهنالك حماية اقوى والتي تتحدث عنها الطريقة الثالة.
ثالثا: الحماية بواسطة الايبي وهذا اقوى الحمايات برأي الشخصي
وتتم الطريقة بوضع كود في ملف ال index.php الموجود في مجلد ال admin ايضا
يقوم الكود بمقارنة ايبي جهازك فاذا تطابقا فتستطيع الدخول الى لوحة التحكم
اما غير ذلك فلا تستطيع الدخول .
في الوهلة الاولى يعتقد الكثير ان هذه الطريقة لا تنفع الا اذا كان لديك ايبي ثابت
ولكن هذا الاعتقاد خاطئ انظر الى الكود:
PHP:
--------------------------------------------------------------------------------
$file="ip.txt";
$ip= join('', file($file));
if ($REMOTE_ADDR==$ip)
{
}
--------------------------------------------------------------------------------
شرح الكود:
يقوم الكود بالبحث عن الايبي في ملف ip.txt وهذا الملف تضع فيه ايبيك عندما تريد ان تدخل الى
لوحة التحكم فيقوم الكود بمقارنة الايبي المكتوب في الملف بايبيك فاذا تطابقا فتستطيع الدخول
وبذلك تستطيع ان تستخدم طريقة الدخول بالايبي حتى لو كان ايبيك متغير.
ملاحظة: عند كتابة كود الايبي يجب ان يكون بهذا الشكل:
PHP:
--------------------------------------------------------------------------------
$file="ip.txt";
$ip= join('', file($file));
if ($REMOTE_ADDR==$ip)
{
index.php //هنا اكواد ملف الاندكس السابقة
}
--------------------------------------------------------------------------------
كيف حال الاعضاء انشاء الله طيبين انا صراحة يؤسفني من بعض الهكرز الصعاليق مايعرفون الى للمنتديات العربية وانا هنا لما شفت انو منتداكم فيلو كذا ثغرة حبيت انبه الاستاذ ابو دنيا على هذا الموضوع واتمنى الاستفادة لجميع المنتديات العربية .
بسم الله الرحمن الرحيم
في الآونة الاخيرة رأينا الكثير من المنتديات تسقط امام اعيننا
لعل السبب وجود ثغرة جديدة لم تنشر بعد او لاسباب اخرى
ففكرت في كتابة موضوع يتحدث عن حماية المنتديات ايا كان نوعها
وتتم هذه الحماية بطرق سهلة لا تحتاج لجهد
وهذا النوع من الحماية يحمي منتداك من الثغرات والجديدة والقديمة والثغرات التي تأتي
في المستقبل حتى لو كان لدى المخترق كلمة سر مدير المنتدى!!
اولا: الكثير من المنتديات العربية تجعل مجلد ال admin كما هو ولا تغيره
لذلك يسهل دخول الى لوحة التحكم بمعرفة كلمة سر مدير الموقع لذا يجب تغييره
الى اي اسم اخر حتى لا يتم الدخول اليه.
ولكن وهذا يحتاج لأن تغير في بعض اكواد ال بي اتش بي حتى يتناسب مع ها التغيير
و هذا لا يكفي فمن الممكن تخمين مجلد ال admin باي طريقة او الحصول عليه لذا علينا
بحمايته اكثر وهذا ما تتحدث عنه الطريقة الثانية.
ثانيا:هذه الطريقة تعتمد على كتابة بعض اكواد ال php البسيطة في الشكل وكبيرة في الفعل
داخل ملف ال index.php الموجود في مجلد ال admin وهي عبارة عن كود يسأل المستخدم عن
كلمة السر واسم المستخدم غير اسم المستخدم وكلمة السر التي تخ المنتدى ولا يسمح لك بالدخول الا اذا
ادخلت كلمة السر واسم المستخدم الصحيحان الذي اخترتهما وهذا هو الكود:
PHP:
--------------------------------------------------------------------------------
if ($username=="Black Scorpion" and $password=="123456")
{
}
else
{
header("Location: adlogin.html");
}
--------------------------------------------------------------------------------
وفي الملف adlogin.html نكتب هذا الكود:
PHP:
--------------------------------------------------------------------------------
<form method="POST" action="index.php">
<input type="text" name="username" value="">
<input type="text" name="password" value="">
<input type="submit">
</form>
--------------------------------------------------------------------------------
شرح الكود:
اذا دخل المخترق الى لوحة اتحكم سوف يطلب منه اسم المستخدم وكلمة السر الخاصة بمدير الموقع
فاذا كانا صحيحين سوف ينتقل الى كود تسجيل الدخول الذي كتبته انا فاذا علمها فستطيع ان يدخل
اما اذا لم يعلمها فلن يدخل لوحة التحكم حتى لو كان كلمة سر مدير الموقع صحيحة.
ملاحظة:الملاحظة خاصة بمنتديات vb واذا احببت ان تجربها على منتديات اخرى ففهم الكود حتى تطبقها على
منتديات اخرى.
ابحث عن كلمة adminlog() في ملف ال index.php واجعل adminlog() بين كود تسجيل الدخول الذي انا كتبته
ويكون شكله النهائي هكذا:
PHP:
--------------------------------------------------------------------------------
if ($action=="") {
if ($username=="Black Scorpion" and $password=="123456")
{
adminlog();
}
else
{
header("Location: adlogin.html");
}
}
--------------------------------------------------------------------------------
وبهذه الطريقة عملنا كودين لتسجيل الدخول فاذا اخترق الاول فيصعب اختراق الثاني
واذا لم تكتفي بهذه فهنالك حماية اقوى والتي تتحدث عنها الطريقة الثالة.
ثالثا: الحماية بواسطة الايبي وهذا اقوى الحمايات برأي الشخصي
وتتم الطريقة بوضع كود في ملف ال index.php الموجود في مجلد ال admin ايضا
يقوم الكود بمقارنة ايبي جهازك فاذا تطابقا فتستطيع الدخول الى لوحة التحكم
اما غير ذلك فلا تستطيع الدخول .
في الوهلة الاولى يعتقد الكثير ان هذه الطريقة لا تنفع الا اذا كان لديك ايبي ثابت
ولكن هذا الاعتقاد خاطئ انظر الى الكود:
PHP:
--------------------------------------------------------------------------------
$file="ip.txt";
$ip= join('', file($file));
if ($REMOTE_ADDR==$ip)
{
}
--------------------------------------------------------------------------------
شرح الكود:
يقوم الكود بالبحث عن الايبي في ملف ip.txt وهذا الملف تضع فيه ايبيك عندما تريد ان تدخل الى
لوحة التحكم فيقوم الكود بمقارنة الايبي المكتوب في الملف بايبيك فاذا تطابقا فتستطيع الدخول
وبذلك تستطيع ان تستخدم طريقة الدخول بالايبي حتى لو كان ايبيك متغير.
ملاحظة: عند كتابة كود الايبي يجب ان يكون بهذا الشكل:
PHP:
--------------------------------------------------------------------------------
$file="ip.txt";
$ip= join('', file($file));
if ($REMOTE_ADDR==$ip)
{
index.php //هنا اكواد ملف الاندكس السابقة
}
--------------------------------------------------------------------------------