حك شدن سايتهاي phpnuke

سلام،
سايت http://www.ashiyane.com/ اقدام به حك كردن يك سري سايت كه با phpnuke كار مي‌كنن كرده:‌
سلام دوستان ، همانطور که مطلع هستید دیروز طبق خبری که ما در سایت آشیانه اعلام کردیم سایت پرشین وب مستر توسط دو نفر از اعضای تیم آشیانه هک شد. این کار فقط برای نشان دادن ضعف برنامه PHP Nuke بود که ما به نسخه فارسی آن نفوذ کردیم. دیشب ما چندین سایت دیگر را هم هک و چهره آنها را با یک پیغام امنیتی عوض کردیم.

سایت هایی که توسط تیم امنیتی آشیانه دیشب توسط روشInjection هک شدند از قبیل سایت آموزشی آرین آنلاین - سایت ISP آرمان - سایت آموزشی Iran Web Designing - سایت آموزشیIranVig - سایت معروفPCSeven که سایت کراک و سریال برنامه ها است - سایت آموزشی Safayeh - سایت Bazi dot com - سایت پر کابر و معروف اهواز کلیک و چندین سایت دیگر بودند که البته چهره بقیه سایت ها را عوض نکردیم. ولی نکته ای که برای خود ما نیز جالب بود بی تفاوت بودن مدیران این سایت ها در رفع نقص و حفره امنیتی در سایتشان بود. طوری که بعد از مدتی دوباره سایت خود را باز کردند و اعضای تیم آشیانه دوباره به آنها آسیب پذیر بودن حفره قبلی سایتشان را با عوض کردن دوباره چهره سایت آنها گوشزد کردند. جالبی این موضوع وقتی بیشتر می شود که بعضی از این سایت هایی کهDeface شدند، سایت آموزش هکینگ و امنیت شبکه هستند. سوال ما این است که آیا واقعا چرا کسانی که در زمینه ای از کامپیوتر مانند هک اطلاعات محدودی دارند با راه اندازی سایت و یا وبلاگی به آموزش غلط آن رشته به مردم می پردازند؟ آیا واقعا رشته هک و امنیت که اینقدر در گذشته بین اقشار مختلف جامعه مهم و محترم بود باید با بازیچه شدن در دست عده ای که سن کمی هم دارند، اینقدر کوچک و بی احترام شود؟ طوری که همه هک را با بوت کردن و به دست آوردن پسورد ایمیل یک نفر از طریق تروجن ها می شناسند ؟

اگر در سال گذسته به سایت تیم امنیتی آشیانه مراجعه می کردید، مشاهده می کردید که خیلی از سایت های دانشگاه ها و سرورهای ایرانی توسط این تیم هک شده و پیغام امنیتی برای تذکر به مدیران آن سرورها در سایت هایشان قرار گرفته بود. با این کار، اکثر مدیران آن سرورها به خود آمده و با کمک ما سرورهای خود راSecure کردند. پس شما هم دوست عزیز از همین امروز شروع کن و با آشنا شدن با روش های نفوذ، امنیت سرور خود را تامین کن. ما در سایت اصلی و آموزشی آشیانه شما را با روش های نفوذ به سایت ها و سرورها و همینطور امن کردن سیستم های سرور و کلاینت آشنا می کنیم. دوستان عزیز می توانند تمامی عکس های نفوذ و Deface شدن این سایت ها را با کلیک کردن در اینجا دریافت و مشاهده کنند .

ممنون و موفق باشید

بهروز کمالیان

گروه امنیتی آشیانه

خواستم ببينم كسي خبر از روش حكشون داره و اينكه مشكل چيه؟

چيزي كه من فهميدم اينكه يك query به سايت از طريق يكي از ماژولهاي باگ‌دار مي‌فرستن و يك كاربر admin به سايت اضافه مي‌كنن.
 

omid30_88

Member
سلام
من نمي دونم اينا چي كار مي كنن.
ولي ميخوام بگم كه اين پولي كه بابت هك كردن مي گيرند و از مزدم مي خووان بيان رو سرورشون حلال نيست

انشا الله خدا هكشون كنه
 
سلام،
من يك اطلاعاتي كسب كردم در مورد اين حك كه مي‌تونه كمك كنه.

1)اولاً روش حكشون اينكه كه يك query رو به عنوان پارامتر به يك ماژول مي‌دن و سيستم هم اون رو اجرا مي‌كنه. تو اين مثال خاص، query شامل اضافه كردن يك admin جديد به سيستم بوده. اين مقاله در اين مورد كاملاً گوياست:‌ http://www.4guysfromrolla.com/webtech/061902-1.shtml

2) اگه سيستمتون رو به روز كنيد و مثلاً‌ از phpnuke 7.0 استفاده كنيد اين مشكل حله.

3) من يك كار راحت ديگه كردم كه اون هم جواب مي‌ده:
چون اينها يك query ديگه رو به سيستم مي‌دن و سيستم اشتباهن به جاي يك query دو تا query رو اجرا مي‌كنه كه دوميش همون خرابكاريه. براي همين من توي فايل db/mysql.php توي تابع sql_query چك مي‌كنم كه سمي‌كالون نداشته باشه و اگه داشت يك اي‌ميل به ادمين مي‌زنم و اون query رو هم اجرا نمي‌كنم. اين هم كدي كه نوشتم:
و اول اون تابع گذاشتم:

کد:
	function sql_query($query = "", $transaction = FALSE)
	{
		$query = rtrim($query);
		$query = rtrim($query,";");
		if (strstr($query, ';') != FALSE){
		    mail("[email protected]", "[Hack Alert]", " $query ");
			return;
		};
 
به نظر من كار اينها نه تنها جنبه دوستانه و آموزشي و اخطار براي ديگران نداره بلكه بر خلاف بسياري از هكرهاي مطرح دنيا بسيار بيشرمانه عمل ميكنند، آيا تعويض صفحه اول يك سايت هك شده و قرار دادن يك تصوير مستهجن غير از اينه!!!!؟
اينكه حالا 2 تا بچه بخيال خودشون راه افتادن و با پيدا كردن يك باگ ميخوان اداي هكر هاي بزرگ رو تقليد كنند واقعا خنده داره وگرنه ما واقعا هكرهاي خوبي تو همين كشورمون مثل آراز صمدي داريم كه هرگز از اين كارها نميكنند ، در حقيقت هك يك سايت معمولي كه كارش فقط آموزش فتوشاپ و فلش و اين جور چيزاست و تعويض صفحه اون با يه عكس ... ، غير از قدرتنمايي بچگانه فك نكنم معني ديگه اي بده!؟
 

omid30_88

Member
dododododo گفت:
سلام،
من يك اطلاعاتي كسب كردم در مورد اين حك كه مي‌تونه كمك كنه.

1)اولاً روش حكشون اينكه كه يك query رو به عنوان پارامتر به يك ماژول مي‌دن و سيستم هم اون رو اجرا مي‌كنه. تو اين مثال خاص، query شامل اضافه كردن يك admin جديد به سيستم بوده. اين مقاله در اين مورد كاملاً گوياست:‌ http://www.4guysfromrolla.com/webtech/061902-1.shtml

2) اگه سيستمتون رو به روز كنيد و مثلاً‌ از phpnuke 7.0 استفاده كنيد اين مشكل حله.

3) من يك كار راحت ديگه كردم كه اون هم جواب مي‌ده:
چون اينها يك query ديگه رو به سيستم مي‌دن و سيستم اشتباهن به جاي يك query دو تا query رو اجرا مي‌كنه كه دوميش همون خرابكاريه. براي همين من توي فايل db/mysql.php توي تابع sql_query چك مي‌كنم كه سمي‌كالون نداشته باشه و اگه داشت يك اي‌ميل به ادمين مي‌زنم و اون query رو هم اجرا نمي‌كنم. اين هم كدي كه نوشتم:
و اول اون تابع گذاشتم:

کد:
	function sql_query($query = "", $transaction = FALSE)
	{
		$query = rtrim($query);
		$query = rtrim($query,";");
		if (strstr($query, ';') != FALSE){
		    mail("[email protected]", "[Hack Alert]", " $query ");
			return;
		};



سلام
يعني اگه از راه دوم شما بريم مشكلات حل مي شه و نمي تونن اين كارو بكنن؟
اگه ميشه اون فايل اصلاح شده MYSQL.php رو در اين جا بزاريد تا بچه ها بگيرنش
ممنون از لطفتون
 

Norik

Active Member
:lol: :lol: :lol: :lol: :lol: :lol:

عجب کار خفنی

تو PHPBB هم پس بايد بشه يه همچين کاری کرد, درست مثل هک شدن persiantools
ولی خودمونيم اين روزا هکر با انصاف کم پيدا ميشه نه؟
آخه پاک کردن کل آرشيو مردم؟ عجب زمونه ای شده نه؟


حالا PHP يا ASP ؟ :wink:
 

Majid

مدیر سایت
عضو کادر مدیریت
سلام

من با آقا بهروز صحبت كردم (مسئول آشيانه) ايشون از دوستان خوب من هستن كه خيلي جاها كمكم كردن..
نميخوام از كارشون طرفداري كنم (چون سايت داداش خودم رو هك كردن كه خيلي ناراحت شدم) اما به نظر من كارشون تا حدي درسته...
چون واقعا اگر اينها نوك رو هك نميكردن اگر نوك تا ورژن 10 ميرفت بالا باز هم از نوك 6.5 استفاده ميكرديم.. اما اين باعث شد كه حواسمون جمع بشه هميشه به روز باشيم و سعي كنيم باگها رو بگيرم ..
مطمئنا هيچ وقت مقدار باگ به صفر نميرسه اما ميشه اونو به حداقل رسوند...
البته اين مشكل هيچ ربطي به سرور نداره من با آقا بهروز كه صحبت كردم گفتش كه اصلا با سرور كاري نميكنند كه بخواد امنيت سرور پايين باشه يا ... اونها از injection وارد phpnuke شده اند كه اگر نوك رو به آخرين نسخه ارتقا بدين و همچنين سعي كنيد همشه سايت رو به روز نگه داريد ديگه از اين مشكلات نخواهيد داشت (ان شالله)


مجيد
 

milad_p7

Member
بله درسته آقا مجيد. كار اين گروه بسيار عالي بوده كه مارو مجبور كردند كه نسخه سيستم رو ارتقا بديم. ولي اين كار رو ميتونستند فقط با يك خبر در سايت اعلام كنند.
نه با پاك كردن كل آرشيو خبري سايت (بلوكها و ...) ارسال خبرنامه به تمامي كاربران عضو .....

.
.
 

daryvary

Member
راستش من نميدونم اينها چيكار كردن. ولي اگر واقعا پيغامي براي همه فرستادن و يا صفحه اصلي سايت رو عوش كردن كار درستي نبوده. چون خيلي ها هم مثل خود آنها ادعاي هك ميكنن كه هيچ كس هم نميتونه بگه كه من به هيچ عنوان هك نميشم.
اگر دوستي مياد و ما رو هك ميكنه بهتره كه به خودمون بگه تا اينكه يك اعلام عمومي بكنه.
كسي رو ميشناسم كه به راحتي به هر فارومي كه بخوايد نفوذ ميكنه. من با 4 تا فاروم مختلف تست كردم و به راحتي و در عرض 5 دقيقه با آيدي ادمين فاروم وارد ميشه. حتي ايشون اي اس پي و يا پي اچ پي هم بلد نيستن. اين كار رو هم با استفاده از يك باگ در فاروم ها انجام ميدن.
خيلي دوست دارم بدونم الان سابت آشيانه دوست داره كه به اين صورت هك بشه؟
يه نكته هم هست: اكثر هكر هايي كه در دنيا مطرح هستن و واقعا هم هكر هستن. سنشون كمتر از 20 ساله و اكثرا روي سن 18 سال هستن.
 
ببينيد شايد كار اونا از اين جهت درست باشه ولي بنظر نمياد تعويض صفحه اول يه سايت با يه عكس... كار درستي باشه!!!؟ كاري كه در مورد سايت من كردند.
 

drritalin

Member
سلام به همه.
آقاي dododododo امكان داره خواهش كنم فايل اصلاح شده رو براي ما هم بگذاريد .متشكرم.
 

drritalin

Member
دوستان كسي روش بروز كردن phpnuke از ورژن 6.5 به 6.8 يا بالاتر رو مي دونه.اگه كمك كنين ممنون مي شم.
 
drritalin گفت:
سلام به همه.
آقاي dododododo امكان داره خواهش كنم فايل اصلاح شده رو براي ما هم بگذاريد .متشكرم.

سلام، من همونطور كه گفتم يك query رو چك مي‌كنم و اگه حاوي بيش از يك دستور بود اجراش نمي‌كنم. تا اونجايي هم كه من چك كردم توي ماژولهاي phpnuke هيچ query با بيش از يك دستور وجود نداره و بنابراين اگه يك query با بيش از يك دستور توي سيستم بياد به احتمال زياد حك هستش.

روش قبليم (چك كردن وجود سمي كالون) مشكل داشت و علتش اين بود كه queryهايي وجود داشتند كه سمي‌كالون توشون بود ولي يك دستور بودند. من روشم رو اصلاح كردم و به جاش تعداد INSERT , DELETE ها رو مي‌شمرم كه بيشتر از يك نباشه:
کد:
		$query = rtrim($query);
		$query = rtrim($query,";");
		$query2 = strtoupper($query);
		$query2 .= "  ";
		$count = substr_count($query2,  " INSERT ") + substr_count($query2, " DELETE ") + substr_count($query2, " SELECT ");
		if ($count > 1){
			$ip = $_SERVER[REMOTE_ADDR];
		    mail("[email protected]", "[Query]", " $query <br> \n ip: $ip", "From:[email protected]");
			return;
			
		};

كد كامل فايل db/mysql.php رو هم attach كردم. فقط پسوندش رو از gif به php تغيير بدين.
 
سلام،
بد نيست يك سري پيشنهاد و اطلاعات در مورد روش جلوگيري از اينگونه حك شدن اينجا نوشته بشه.

همونطور كه مي‌دونين روش injection اين طوريه كه توي پارامترها يك query (مثلاً اضافه كردن يك admin جديد به سيستم) رو مي‌زارن و سيستم هم اون رو اجرا مي‌كنه.

اين وقتي اتفاق مي‌افته كه كد شما شامل يك query باشه كه قسمت آخرش
پارامتري باشه كه از ورودي مي‌گيره. مثلاً

کد:
$query = "Select * FROM nuke_users where id=$id";

خوب اگه يك نفر مقدار $id رو اين طوري بده:
کد:
1;DELETE * from nuke_users WHERE 1;
سيستم
علاوه بر كار خودش مي‌ياد و query دوم رو هم اجرا مي‌كنه كه يعني حذف همه‌ي كاربران!!

حالا چكار كنيم؟

1) اول از همه اينكه مرتب به سايت http://nukecops.com سر بزنيد و از تازه‌ترين ايرادهاي امنيتي با خبر بشين. جالبه كه آدمهاي با ادعايي مثل همين گروه آشيانه هنرشون فقط همينه كه از اين گونه سايتها مشكلات رو پيدا مي‌كنن و بعد ميان روي سيستم‌هاي فارسي كه ورژن‌هاي قديمي دارن پياده مي‌كنن.

2)يادتون باشه مهمتر از نصب يك ماژول كه براتون خيلي جالبه،‌اينه كه اون ماژول امن باشه.
بنابراين هر ماژولي رو الكي نصب نكنين. حداقل اولش توي google يك جستجوي كوچيك بكنين كه اگه كسي مشكلي با اون ماژول داشته و نوشته،‌شما ببينين.

ديگه اينكه مي‌تونين با 30 دقيقه وقت روي خوندن كد اون ماژول ايرادات بديهي امنيتي رو بگيرين. كافيه تمام query هايي كه اون كد داره رو چك كنين و اگه يك query به شكل اون كه اون بالا مثال زدم رو داره راحت اون پارامتر آخرش رو داخل كوتيشن بذارين. يعني:

از:
کد:
$query = "Select * FROM nuke_users where id=$id";


به:

کد:
$query = "Select * FROM nuke_users where id='$id'";



3) يك نكته‌ي بي‌ربط ولي خيلي مهم ديگه اينكه فكر نكنين همه‌ي حكرها كارشون خيلي درسته و از شما كاري ساخته نيست. دقيقاً برعكس. اكثر حكرها واقعاً‌ حكر نيستن و با خوندن يك مقاله‌ي كوچيك از يك جا اون رو تو جاي ديگه امتحان مي‌كنن. بنابراين هيچ موقع هول نشين و كار خودتون رو بكنين ولي كمي دقيق‌تر.
 

m-sh

Member
کد:
In /modules/Web_Links/index.php add the following lines
before "switch($l_op) {":

------------------------------------------------------------------------
$cid = intval($cid);
$min = intval($min);
$lid = intval($lid);
$parentid = intval($parentid);
------------------------------------------------------------------------

In /modules/Downloads/index.php add the following lines
before "switch($d_op) {":

------------------------------------------------------------------------
$cid = intval($cid);
$min = intval($min);
$sid = intval($sid);
$lid = intval($lid);
$cat = intval($cat);
------------------------------------------------------------------------

In /modules/Reviews/index.php add the following lines
before "switch($rop) {":

------------------------------------------------------------------------
$id = intval($id);
$cid = intval($cid);
------------------------------------------------------------------------

In /modules/Sections/index.php add the following lines
before "switch($op) {":

------------------------------------------------------------------------
$artid = intval($artid);
$secid = intval($secid);
------------------------------------------------------------------------

In /modules/Stories_Archive/index.php add the following line
before "switch($sa) {":

------------------------------------------------------------------------
$min = intval($min);
------------------------------------------------------------------------
 

dashti

Member
آقا زدن سايت ما رو هم داغون كردن نامردا .... من كه ازشون نمي گذرم ... خدا ازشون نگذره ... بد بختي داريما !!! اصلا بابا يكي نيست بگه آخه آدمهاي حسابي ... توي ناك سايت ما كه چيزي نبود !!!
 

farsinuke

Member
سلام به همه! شرمنده از اینکه این چند وقت اینقدر نقش من کمرنگ بوده.

لطفا همتون فایل های LOG رو ببینید دقیق و اگه ممکنه یا بهم میل کنید به این آدرس [email protected] یا قسمت هایی از آخرین log های سیستم رو برام بفرستید.معمولا فایل های log در سرور های linux و unix base در اینجا واقع هست : /var/log/httpd/

در این فایل ها می تونید query دقیق رو مشاهده کنید. سعی می کنم در اولین فرصت مشکل رو حل کنم. درضمن نسخه فارسی 7 در راهه...
 

farhad_s5

Member
آقا چند روز پيش من رو هم هك كردم

حيف كه هك خوب بلد نيستم وگرنه يه جوري هكشون مي كردم ندونن از كجا هك شدن؟!!!!
 

جدیدترین ارسال ها

بالا