الفارس
16-11-2006, 12:04ِPM
- ملف config.php
غير الرقم الموجود التالي
$prefix = "nuke";
$user_prefix = "nuke";
$sitekey = "SStgF54$3@+%288-982%/(-derThsR-23";
اول شي غير الكود الطويل اللي قدام sitekey وحط فيه اي شي تبيه ارقام وحروف اهم شي انه يتغير
الشي الثاني غير كلمة nuke في السطرين الاولين الى اي كلمة تبغاها لانه اذا عرف الهاكر انك ما غيرته يمكن يستخدم طريقة الحقن بالقاعدة لانه يعرف اسم الجدول لكن ان تغير هذا فأسم الجدول متغير فما يقدر يدخل اي شي لقاعدة البيانات ..
بعد تغيير اسم الجدول nuke استخدم ملف تغيير اسم الجدول من مغترب لتغيير اسم الجدول في القاعدة من nuke الى اللي انت حطيت فقط ارفع الملف الى المجله بالموقع واطلبه من الانترنت وحط بالمربع الاول nuke وبالثاني الاسم الجديد اللي حطيته وراح يغير لك اسماء الجداول بالقاعدة ..
تجده في الملف المرفق باسم tbrename
لا تنسى اخذ نسخة من قاعدة البيانات قبل كل شي للاحتياط ..
=============================================
2 - هناك ثقره امنيه في مجلد search في الموديلز وهي كالتالي
افتح ملف index.php في مجلد search في الموديلز وابحث فيه عن الكود التالي
$query = stripslashes(check_html($query, "nohtml"));
استبدله بالتالي
$query = addslashes(check_html($query, "nohtml"));
تراهم اكثر من سطر ابحث عن كل واحد واستبدله
الثقره يمكن النفاذ منها على قاعدة البيانات مباشرة ووضع اكواد التهكير بدون اي تعطيل لكن التعديل يقفل الثقره ويعطب اي اكواد للهكر ...
=============================================
3- في ملف mainfile.php
استبدل الكود التالي في اول الملف
unset($matches);
unset($loc);
if (preg_match("/([OdWo5NIbpuU4V2iJT0n]{5}) /", rawurldecode($loc=$_SERVER["QUERY_STRING"]), $matches)) {
die();
}
$queryString = strtolower($_SERVER['QUERY_STRING']);
if (stripos_clone($queryString,'%20union%20') OR stripos_clone($queryString,'/*') OR stripos_clone($queryString,'*/union/*') OR stripos_clone($queryString,'c2nyaxb0')) {
header("Location: index.php");
die();
}
بالكود التالي
unset($matches);
unset($loc);
if(isset($_SERVER['QUERY_STRING'])) {
if (preg_match("/([OdWo5NIbpuU4V2iJT0n]{5}) /",
rawurldecode($loc=$_SERVER['QUERY_STRING']), $matches)) {
die('Illegal Operation');
}
}
if(isset($_SERVER['QUERY_STRING'])
AND (!stristr($_SERVER['QUERY_STRING'], "ad_click"))) {
$queryString = $_SERVER['QUERY_STRING'];
if ((stristr($queryString,'%20union%20')) OR (stristr($queryString,'/*'))
OR (stristr($queryString,'*/union/*')) OR (stristr($queryString,'c2nyaxb0')) OR
(stristr($queryString,'+union+')) OR (stristr($queryString,'http://')) OR
((stristr($queryString,'cmd=')) AND (!stristr($queryString,'&cmd'))) OR
((stristr($queryString,'exec')) AND (!stristr($queryString,'execu'))) OR
(stristr($queryString,'concat'))) {
die('Illegal Operation');
}
}
================================================
4- طريقة اختراق لواجهة الموقع او الهيدر بحيث يمكن معرفة اسم ا لمشرف والرقم السري عن طريق معلومات يمكن الحصول عليها من ملف الهيدر علشان كذا يجب وضع التالي في اي مكان في ملف mainfile.php
$pagetitle = '';
===============================================
- في ملف modules.php
تلقا
$module = 1;
اكتب تحته مباشرة
$name = $_GET['name'];
=============================================
6- في ملف
modules/News/article.php
get_lang($module_name);
حط تحته التالي
$sid = $_GET['sid'];
=============================================
7- في ملف
modules/News/comments.php
في كل دالة فيها اي واحد من الثلاثة التالية
$sid
$pid
$tid
اكتب تحت الدالة يعني تحت السطر عادة global اللي في الدالة التالي
$sid = intval($sid);
$pid = intval($pid);
$tid = intval($tid);
============================================
8- نفس اللي فوق ب 7 بس للملف
modules/Surveys/comments.php
===========================================
9- احذف اي موديلز ما تستخدمه لانه يمكن يكون يحتوي ثقره ويخترق
موقعك عن طريقه وانت اصلاً ما انت بحاجته ومتى ما بغيته تقدر ترفع
ملفاته من اي نسخة
==========================================
10- اختراقات النيوك عادة تجي من المنتدى المرفق فاذا كنت ما تستخدمه احذفه بالكامل
===========================================
11- في ملف index.php حق المجله اللي بجنب config.php تلقا السطر التالي
if (isset($url) AND is_admin($admin)) {
echo "****** **********=\"refresh\" content=\"0; url=$url\">";
die();
}
غيره للتالي
if (isset($url) AND is_admin($admin)) {
$url = urldecode($url);
echo "****** **********=\"refresh\" content=\"0; url=$url\">";
die();
}
=============================================
12- ملف index.php في موديلز your_account
فوق اول function بالملف حط الكود التالي
if (ereg("\.\.",$name) || ereg("\.\.",$username)) {
die("You are so cool...");
}
لمنع سرقة الارقام السرية للاعضاء او اختراق الموقع عن طريق هذا القسم ..
بعدين تحت منه قبل او كلمة function
قبلها حط الكود التالي لمنع التهكير عن طريق الحقن
unset($matches);
unset($loc);
if(isset($_SERVER['QUERY_STRING'])) {
if (preg_match("/([OdWo5NIbpuU4V2iJT0n]{5}) /",
rawurldecode($loc=$_SERVER['QUERY_STRING']), $matches)) {
die('Illegal Operation');
}
}
//if((!is_admin($admin)) AND (isset($_SERVER['QUERY_STRING']))
if(isset($_SERVER['QUERY_STRING'])
AND (!stristr($_SERVER['QUERY_STRING'], "ad_click"))) {
$queryString = $_SERVER['QUERY_STRING'];
if ((stristr($queryString,'%20union%20')) OR (stristr($queryString,'/*'))
OR (stristr($queryString,'*/union/*')) OR (stristr($queryString,'c2nyaxb0')) OR
(stristr($queryString,'+union+')) OR (stristr($queryString,'http://')) OR
((stristr($queryString,'cmd=')) AND (!stristr($queryString,'&cmd'))) OR
((stristr($queryString,'exec')) AND (!stristr($queryString,'execu'))) OR
(stristr($queryString,'concat'))) {
die('Illegal Operation');
}
}
بعدين ابحث عن الدالة التاليه
function userCheck($username, $user_email) {
global $stop, $user_prefix, $db;
if ((!$user_email) || ($user_email=="") || (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$user_email))) $stop = "<center>"._ERRORINVEMAIL."</center><br>";
if (strrpos($user_email,' ') > 0) $stop = "<center>"._ERROREMAILSPACES."</center>";
if ((!$username) || ($username=="")) $stop = "<center>"._ERRORINVNICK."</center><br>";
if (strlen($username) > 25) $stop = "<center>"._NICK2LONG."</center>";
if (eregi("^((root)|(adm)|(linux)|(webmaster)|(admin)|(god)|( administrator)|(administrador)|(nobody)|(anonymous )|(anonimo)|(anَnimo)|(operator))$",$username)) $stop = "<center>"._NAMERESERVED."</center>";
if ($db->sql_numrows($db->sql_query("SELECT username FROM ".$user_prefix."_users WHERE username='$username'")) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT username FROM ".$user_prefix."_users_temp WHERE username='$username'")) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users_temp WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
return($stop);
}
واستبدلها بالدالة التالية
function userCheck($username, $user_email) {
$username = check_words(check_html(addslashes($username), "nohtml"));
$user_email = check_words(check_html(addslashes($user_email), "nohtml"));
global $stop, $user_prefix, $db;
if ((!$user_email) || (empty($user_email)) || (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$user_email))) $stop = "<center>"._ERRORINVEMAIL."</center><br>";
if (strrpos($user_email,' ') > 0) $stop = "<center>"._ERROREMAILSPACES."</center>";
if ((!$username) || (empty($username))) $stop = "<center>"._ERRORINVNICK."</center><br>";
if (strlen($username) > 25) $stop = "<center>"._NICK2LONG."</center>";
if (eregi("^((root)|(adm)|(linux)|(webmaster)|(admin)|(god)|( administrator)|(administrador)|(nobody)|(anonymous )|(anonimo)|(an?nimo)|(operator))$",$username)) $stop = "<center>"._NAMERESERVED."</center>";
if ($db->sql_numrows($db->sql_query("SELECT username FROM ".$user_prefix."_users WHERE username='".addslashes($username)."'")) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT username FROM ".$user_prefix."_users_temp WHERE username='".addslashes($username)."'")) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users_temp WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
return($stop);
}
تحياااااااااااتى للجميع
غير الرقم الموجود التالي
$prefix = "nuke";
$user_prefix = "nuke";
$sitekey = "SStgF54$3@+%288-982%/(-derThsR-23";
اول شي غير الكود الطويل اللي قدام sitekey وحط فيه اي شي تبيه ارقام وحروف اهم شي انه يتغير
الشي الثاني غير كلمة nuke في السطرين الاولين الى اي كلمة تبغاها لانه اذا عرف الهاكر انك ما غيرته يمكن يستخدم طريقة الحقن بالقاعدة لانه يعرف اسم الجدول لكن ان تغير هذا فأسم الجدول متغير فما يقدر يدخل اي شي لقاعدة البيانات ..
بعد تغيير اسم الجدول nuke استخدم ملف تغيير اسم الجدول من مغترب لتغيير اسم الجدول في القاعدة من nuke الى اللي انت حطيت فقط ارفع الملف الى المجله بالموقع واطلبه من الانترنت وحط بالمربع الاول nuke وبالثاني الاسم الجديد اللي حطيته وراح يغير لك اسماء الجداول بالقاعدة ..
تجده في الملف المرفق باسم tbrename
لا تنسى اخذ نسخة من قاعدة البيانات قبل كل شي للاحتياط ..
=============================================
2 - هناك ثقره امنيه في مجلد search في الموديلز وهي كالتالي
افتح ملف index.php في مجلد search في الموديلز وابحث فيه عن الكود التالي
$query = stripslashes(check_html($query, "nohtml"));
استبدله بالتالي
$query = addslashes(check_html($query, "nohtml"));
تراهم اكثر من سطر ابحث عن كل واحد واستبدله
الثقره يمكن النفاذ منها على قاعدة البيانات مباشرة ووضع اكواد التهكير بدون اي تعطيل لكن التعديل يقفل الثقره ويعطب اي اكواد للهكر ...
=============================================
3- في ملف mainfile.php
استبدل الكود التالي في اول الملف
unset($matches);
unset($loc);
if (preg_match("/([OdWo5NIbpuU4V2iJT0n]{5}) /", rawurldecode($loc=$_SERVER["QUERY_STRING"]), $matches)) {
die();
}
$queryString = strtolower($_SERVER['QUERY_STRING']);
if (stripos_clone($queryString,'%20union%20') OR stripos_clone($queryString,'/*') OR stripos_clone($queryString,'*/union/*') OR stripos_clone($queryString,'c2nyaxb0')) {
header("Location: index.php");
die();
}
بالكود التالي
unset($matches);
unset($loc);
if(isset($_SERVER['QUERY_STRING'])) {
if (preg_match("/([OdWo5NIbpuU4V2iJT0n]{5}) /",
rawurldecode($loc=$_SERVER['QUERY_STRING']), $matches)) {
die('Illegal Operation');
}
}
if(isset($_SERVER['QUERY_STRING'])
AND (!stristr($_SERVER['QUERY_STRING'], "ad_click"))) {
$queryString = $_SERVER['QUERY_STRING'];
if ((stristr($queryString,'%20union%20')) OR (stristr($queryString,'/*'))
OR (stristr($queryString,'*/union/*')) OR (stristr($queryString,'c2nyaxb0')) OR
(stristr($queryString,'+union+')) OR (stristr($queryString,'http://')) OR
((stristr($queryString,'cmd=')) AND (!stristr($queryString,'&cmd'))) OR
((stristr($queryString,'exec')) AND (!stristr($queryString,'execu'))) OR
(stristr($queryString,'concat'))) {
die('Illegal Operation');
}
}
================================================
4- طريقة اختراق لواجهة الموقع او الهيدر بحيث يمكن معرفة اسم ا لمشرف والرقم السري عن طريق معلومات يمكن الحصول عليها من ملف الهيدر علشان كذا يجب وضع التالي في اي مكان في ملف mainfile.php
$pagetitle = '';
===============================================
- في ملف modules.php
تلقا
$module = 1;
اكتب تحته مباشرة
$name = $_GET['name'];
=============================================
6- في ملف
modules/News/article.php
get_lang($module_name);
حط تحته التالي
$sid = $_GET['sid'];
=============================================
7- في ملف
modules/News/comments.php
في كل دالة فيها اي واحد من الثلاثة التالية
$sid
$pid
$tid
اكتب تحت الدالة يعني تحت السطر عادة global اللي في الدالة التالي
$sid = intval($sid);
$pid = intval($pid);
$tid = intval($tid);
============================================
8- نفس اللي فوق ب 7 بس للملف
modules/Surveys/comments.php
===========================================
9- احذف اي موديلز ما تستخدمه لانه يمكن يكون يحتوي ثقره ويخترق
موقعك عن طريقه وانت اصلاً ما انت بحاجته ومتى ما بغيته تقدر ترفع
ملفاته من اي نسخة
==========================================
10- اختراقات النيوك عادة تجي من المنتدى المرفق فاذا كنت ما تستخدمه احذفه بالكامل
===========================================
11- في ملف index.php حق المجله اللي بجنب config.php تلقا السطر التالي
if (isset($url) AND is_admin($admin)) {
echo "****** **********=\"refresh\" content=\"0; url=$url\">";
die();
}
غيره للتالي
if (isset($url) AND is_admin($admin)) {
$url = urldecode($url);
echo "****** **********=\"refresh\" content=\"0; url=$url\">";
die();
}
=============================================
12- ملف index.php في موديلز your_account
فوق اول function بالملف حط الكود التالي
if (ereg("\.\.",$name) || ereg("\.\.",$username)) {
die("You are so cool...");
}
لمنع سرقة الارقام السرية للاعضاء او اختراق الموقع عن طريق هذا القسم ..
بعدين تحت منه قبل او كلمة function
قبلها حط الكود التالي لمنع التهكير عن طريق الحقن
unset($matches);
unset($loc);
if(isset($_SERVER['QUERY_STRING'])) {
if (preg_match("/([OdWo5NIbpuU4V2iJT0n]{5}) /",
rawurldecode($loc=$_SERVER['QUERY_STRING']), $matches)) {
die('Illegal Operation');
}
}
//if((!is_admin($admin)) AND (isset($_SERVER['QUERY_STRING']))
if(isset($_SERVER['QUERY_STRING'])
AND (!stristr($_SERVER['QUERY_STRING'], "ad_click"))) {
$queryString = $_SERVER['QUERY_STRING'];
if ((stristr($queryString,'%20union%20')) OR (stristr($queryString,'/*'))
OR (stristr($queryString,'*/union/*')) OR (stristr($queryString,'c2nyaxb0')) OR
(stristr($queryString,'+union+')) OR (stristr($queryString,'http://')) OR
((stristr($queryString,'cmd=')) AND (!stristr($queryString,'&cmd'))) OR
((stristr($queryString,'exec')) AND (!stristr($queryString,'execu'))) OR
(stristr($queryString,'concat'))) {
die('Illegal Operation');
}
}
بعدين ابحث عن الدالة التاليه
function userCheck($username, $user_email) {
global $stop, $user_prefix, $db;
if ((!$user_email) || ($user_email=="") || (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$user_email))) $stop = "<center>"._ERRORINVEMAIL."</center><br>";
if (strrpos($user_email,' ') > 0) $stop = "<center>"._ERROREMAILSPACES."</center>";
if ((!$username) || ($username=="")) $stop = "<center>"._ERRORINVNICK."</center><br>";
if (strlen($username) > 25) $stop = "<center>"._NICK2LONG."</center>";
if (eregi("^((root)|(adm)|(linux)|(webmaster)|(admin)|(god)|( administrator)|(administrador)|(nobody)|(anonymous )|(anonimo)|(anَnimo)|(operator))$",$username)) $stop = "<center>"._NAMERESERVED."</center>";
if ($db->sql_numrows($db->sql_query("SELECT username FROM ".$user_prefix."_users WHERE username='$username'")) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT username FROM ".$user_prefix."_users_temp WHERE username='$username'")) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users_temp WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
return($stop);
}
واستبدلها بالدالة التالية
function userCheck($username, $user_email) {
$username = check_words(check_html(addslashes($username), "nohtml"));
$user_email = check_words(check_html(addslashes($user_email), "nohtml"));
global $stop, $user_prefix, $db;
if ((!$user_email) || (empty($user_email)) || (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$user_email))) $stop = "<center>"._ERRORINVEMAIL."</center><br>";
if (strrpos($user_email,' ') > 0) $stop = "<center>"._ERROREMAILSPACES."</center>";
if ((!$username) || (empty($username))) $stop = "<center>"._ERRORINVNICK."</center><br>";
if (strlen($username) > 25) $stop = "<center>"._NICK2LONG."</center>";
if (eregi("^((root)|(adm)|(linux)|(webmaster)|(admin)|(god)|( administrator)|(administrador)|(nobody)|(anonymous )|(anonimo)|(an?nimo)|(operator))$",$username)) $stop = "<center>"._NAMERESERVED."</center>";
if ($db->sql_numrows($db->sql_query("SELECT username FROM ".$user_prefix."_users WHERE username='".addslashes($username)."'")) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT username FROM ".$user_prefix."_users_temp WHERE username='".addslashes($username)."'")) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
if ($db->sql_numrows($db->sql_query("SELECT user_email FROM ".$user_prefix."_users_temp WHERE user_email='$user_email'")) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
return($stop);
}
تحياااااااااااتى للجميع