بات:
مشكلات امنیتی كلوب.كام(پست شده در تاریخ 2008/09/12, 09:23:16)
ویرایش شده در تاریخ 24 شهریور 1387، ساعت 12:02
خوشبختانه این مشكل توسط طراحان كلوب اصلاح شد. سرعت عمل این تیم در برطرف این مشكل جای تقدیر دارد.در صورتی كه كنجكاو هستید می توانید فیلم استفاده از این باگ قبل از اصلاح شدن را در انتهای این بلاگ در قسمت این باگ در عمل ببینید.
آن دسته از دوستانی كه علاقه مند به دانستن نحوه ی اصلاح این مشكل توسط طراحان كلوب هستند می توانند به بخش این باگ توسط طراحان كلوب اصلاح شد رجوع كنند.
معرفی كلوب.كام، بزرگ ترین جامعه ی مجازی ایرانی
شاید خیلی از شما با سایت كلوب.كام آشنا باشید یا توی اون عضو باشید.این وبسایت یكی از معروف ترین وبسایت های ایرانی هست و در رنكینگ Alexa بعد از بلاگفا دومین وبسایت ایرانی هست.
در این وبسایت تقریباً تمامی پارامتر های یك سایت وب 2 خوب رعایت شده و من واقعاً افتخار می كنم كه همچین سایتی توسط یك گروه ایرانی نوشته شده.
چند روز پیش ساعت 3 نصف شب یكی از دوستان از طراحی حرفه ای این سایت تعریف می كرد و من هم كنجكاو شدم تا عضو این جامعه ی مجازی بشم.
ورود به كلوب
بعد از نیم ساعت گشتن توی كلوب متوجه ساختار خیلی خوب این سایت با توجه به ترافیك بالاش شدم.جداً ساپورت یك سایت با 2 هزار كاربر در یك لحظه كار آسونی نیست. اونم یك سایت كه بخاطر سیستم چتش هر 20 ثانیه یك Request به سرور میده!

ببخشید منظورتون از Request فرستادن به سرور چیه؟ برای چی این كار رو می كنه؟
" سوال خوبیه! اگر با سیستم كلوب كار كرده باشید متوجه می شید كه وقتی یك شخص دكمه ی شروع گفتگوی زنده با شمارو می زنه یك پنجره بالا سمت چپ باز می شه و به شما این موضوع رو اطلاع میده.
در حال حاضر متود رایج برای ارتباط كلاینت یا مرورگر شما و سرور سایت یك طرفه هست. به این صورت كه مرورگر می تونه به سرور بگه كه من یك سری اطلاعات جدید می خوام. حالا اگر بخوایم اطلاعاتی از سرور به كلاینت داده بشه و زمان اون مشخص نباشه مرورگر شما باید هر چند مدت پیغام یا Request ای به سرور بفرسته تا ببینه آیا اطلاعات جدیدی موجود هست یا خیر. سایت كلوب هم هر 20 ثانیه پیغامی به سرور میفرسته تا ببینه آیا كاربر پیغام زنده ای داره یا نه! در صورتی كه پیغامی موجود بود پنجره ای ظاهر می شه و به شما این موضوع رو خبر میده.البته Comet یه راه حل جدید در برنامه های وب هست كه این مشكل رو می تونه حل كنه. "
من هیچی از این مطالبی كه گفتید نفهمیدم!
" خوب خیلی مهم نیست البته اگر اجازه بدید بقیه ی ماجرا رو تعریف كنم. "
كلوب به عنوان یك بانك خیلی مفید برای كارهای تحقیقاتی
با كمی بیشتر گشتن متوجه شدم این سایت چه منبع خوبی برای جمع آوری یك بانك اطلاعاتی جهت كار های تحقیقاتی هست و از اطلاعات افراد و ارتباطاتشون و همینطور عكس هاشون استفاده ی خیلی مفیدی جهت آموزش نرم افزارهای با قابلیت یادگیری می شه كرد.
میشه لطف كنید در این مورد بیشتر توضیح بدید؟
" البته! در حال حاضر بحث یادگیری در كامپیوتر موضوع خیلی داغی هست. شاید برای خیلی از شما عجیب باشه، اما كامپیوتر هم قابلیت یادگیری داره. مثلا میشه با ارائه ی تعداد زیادی مثال بهش یاد داد در یك عكس صورت ها رو تشخیص بده. دقیقاً مثل آدم كه با دیدن تعداد زیادی صورت متوجه شده شكل كلی صورت به چه شكل هست. كامپیوتر حتی می تونه چهره ها رو تشخیص بده! یعنی مثلا بعد از ارائه ی چندین عكس از یك فرد و آموزش برنامه، از برنامه انتظار داشت بین چند صورت اون شخص رو تشخیص بده.
در حال حاضر حتی نرم افزار هایی ساخته شدن كه سن افراد رو از روی تصویر صورتشون حدس می زنن! اما برای آموزش این نرم افزار ها كه معمولا با شبكه های عصبی كار می كنند نیاز به تعداد خیلی زیادی تصویر صورت به همراه مشخصات هست. كلوب دقیقاً تمامی پارامتر های لازم رو داره! هر پروفایل یك عكس داره به همراه مشخصاتی نظیر سن، جنسیت، حتی قد!
یعنی مثلا می شه برنامه ای ساخت كه با استفاده از این تصاویر آموزش ببینه و با توجه به عكس صورت تشخیص بده اون شخص پسر هست یا دختر! "
خدای من! این خیلی جالبه! اما یك سوال دیگه! تمام عكس های داخل كلوب صورت نیستند. خیلی از افراد عكس طبیعت یا یك نماد رو بجای تصویر صورتشون قرار دادن، این موارد مشكلی ایجاد نمی كنه؟
" سوال خیلی به جایی بود! حق با شماست! اما خوشبختانه در حال حاضر برنامه ها و ابزار خوبی جهت تشخیص اینكه یك عكس صورت هست یا نه وجود داره كه با دقت خوبی این كار رو انجام میده. اتفاقاً به خاطر وجود این ناخالصی میشه با این داده ها به صورت Supervised این ابزار رو تست كرد! این ابزار معمولا یك Threshold دارند كه هر چقدر مقدارش كمتر باشه سخت گیرانه تر یك عكس رو به عنوان صورت انتخاب می كنه ولی البته ممكن هست عكس هایی كه صورت هستند رو به عنوان غیر صورت دسته بندی كنه. اما اگر یك Threshold پایین انتخاب كنیم مطمئن هستیم اونایی كه به عنوان تصویر صورت دسته بندی شدن با احتمال خیلی بالایی تصویر صورت هستند. و بعد روی اون داده ها بقیه ی تحقیقات نظیر تشخیص سن یا جنسیت و ... رو انجام بدیم. "
این اطلاعات خیلی ارزش مند هستند.با استفاده از این ارتباط ها و اطلاعات هر یك از پروفایل ها می شه یك گراف تشكیل داد كه افراد گره های این گراف باشن و ارتباط ها یال ها رو تشكیل بدن. با استفاده از این اطلاعات میشه خیلی چیز ها رو حدس زد و خیلی چیز ها رو پیش بینی كرد كه باز هم از موضوع های داغ این روز ها هستند.
به عنوان مثال سایت Facebook كه یكی از بزرگ ترین جوامع مجازی حال حاضر هست برای هر كاربر افرادی كه ممكن هست بشناسه اما در لیستش دوستانش نیستند رو حدس می زنه و به اون شخص معرفی می كنه!
یا این روز ها تحقیقات زیادی در ارتباط با Relationship Prediction صورت می گیره و هدف این هست كه ابزاری تولید بشن كه حدس بزنن آیا ممكن هست دو نفر در آینده ی نزدیك با هم دوست بشن یا خیر. یا مثلاً بهترین افرادی كه بدرد دوستی با یك شخص می خورند رو حدس بزنه. برای تمام این تحقیقات یك سری اطلاعات خام لازم هست كه جهت آموزش به نرم افزار بدیم تا به عنوان مثال این نرم افزار متوجه بشه افرادی كه سنشون 19 سال هست و پسر هستند بیشتر علاقه دارند با افرادی كه 17 ساله هستند و دختر هستند دوست بشن! كلوب حتی اطلاعات خیلی كامل تری داره مثل رنگ چشم! یعنی نرم افزار می تونه یاد بگیره معمولا پسر هایی كه 20 ساله هستند و موشون بور هست از دختر های با موی سیاه خوششون میاد! این ها واقعا اطلاعات با ارزشی هستند و در آینده ی خیلی نزدیك به ما خیلی می تونن كمك كنن.
حالا دیگه ساعت 4 شده بود و این سوال پیش اومده بود كه چطور این اطلاعات رو جمع آوری می شه كرد؟! البته جواب این سوال معلوم بود.
شاید خیلی از شما نئو (اولین بات خزنده ی یاهو! 360) كه حدوداً پارسال همین موقع ها 360 رو زیرو رو كرد و برای همه كامنت میگذاشت و در كمتر از 10 روز 15000 تا كامت داشت یادتون باشه یا حتی شاید به پروفایل خود شما هم كامنت داده باشه.
بله! هدف ساخته شدن اون بات هم همین بود با این تفاوت كه یاهو! 360 اطلاعات خیلی كمتری نسبت به كلوب داشت و مقدار خیلی خیلی بیشتری اطلاعات غلط داخلش وجود داشت.
همون لحظه بود كه من و یكی از دوستام بنام امید علیپور نوشتن این بات رو شروع كردیم و قرار شد بات من تمام افراد رو به لیست دوستانش اضافه كنه و اطلاعات پروفایل ها از جمله عكس، سن، جنسیت، قد و ... رو ذخیره كنه و بات امید به تك تك افراد پیغام خصوصی بده.
10 دقیقه نشد كه وقتی به سایت كلوب می رفتیم یك صفحه ی خالی میدیدیم! اولین حدسی كه زدیم این بود كه كلوب IP ما رو به خاطر درخواست زیاد بن كرده! اما خوشبختانه بعد از 30 دقیقه درست شد. بعداً متوجه شدم كه كلوب هر روز حدود ساعت 4 به مدت تقریبا نیم ساعت جواب تمام درخواست ها رو با یك صفحه ی خالی میده. احتمالا توی این مدت در حال آپدیت كردن Cache و Index كردن هست. اگر كسی دلیلش رو می دونه خوشحال می شم بدونم.
خوب معلومه دیگه! اون مدت زمان قطع شدن برقشونه!
" من واقعاً از این جواب قانع كننده ی شما ممنونم! "
جمع آوری اطلاعات و صیانت از هویت كاربران
بعد از برگشتن كلوب به وضعیت عادی خودش حدود 30 دقیقه بعد یك بات آماده داشتیم كه از صفحه ی اول كاربران آنلاین شروع كرد و بعد دوستان اون افراد و بعد هم دوستان دوستان افراد ... رو به لیست دوستانش اضافه می كرد و اطلاعات مربوط به هر فرد رو ذخیره می كرد! یعنی دقیقاً همون اطلاعاتی كه برای كار تحقیقاتی نیاز هست...
وااااای! یعنی شماره تلفن من هم ذخیره كرده؟
" شما مگه شماره تلفنتون رو داخل كلوب گذاشتید؟ "
نه!
" خوب پس معلومه كه ذخیره نكرده... این بات كه از خودش نمی تونه اطلاعات استخراج كنه! تنها اطلاعاتی كه بقیه ی افراد می تونن ببینن رو می تونه ذخیره كنه و اطلاعاتی مثل شماره تلفن شما یا مثلا IP شما و ... رو كه هیچ كس نمی تونه ببینه این بات هم نمیبینه! "
اما به نظر من این كار اصلاً درست نیست! شاید كسی دلش نخواد اطلاعاتش ذخیره یا فاش بشه!
" اول از همه كسی كه اطلاعاتش رو روی كلوب گذاشته یعنی قبول كرده همه اون اطلاعات رو ببینن! پس هیچ اطلاعاتی فاش نمیشه.اما خوب كلاً با شما موافقم! شاید كسی بخواد در آینده اطلاعاتش رو بر داره یا نخواد یك سری از اطلاعاتش جایی كه در دسترسش نیست ذخیره بشن! از اونجایی كه من خودم جزو همین دسته از افراد هستم برای این موضوع راه حلی پیدا كردم! اولاً این بات به هیچ وجه اسم، Email یا آیدی یاهو! هیچ پروفایلی رو ذخیره نمی كنه.تنها چیزی كه از هر شخص به عنوان یك كد شناسایی ذخیره میشه MD5 شده ی شناسه ی كلوب افراد هست. "
ببخشید! منظورتون از MD5 چیه؟
" MD5 یه نوع الگوریتم كد كردن یك طرفه هست. مثلاً پسورد افراد در انجمن ها به این صورت ذخیره میشه. یكی از خاصیت های اصلی اون اینه كه قابل بازگشت نیست. یعنی مثلا اگر كلمه ی Siavash رو با استفاده از MD5 كد كنیم دیگه از اون رشته ی كد شده نمی تونیم به Siavash برسیم. پس در واقع تمام اطلاعات بدون مشخصات صاحب اونا ذخیره میشن و سعی كردم با این روش مشكل عدم اعتماد افراد رو حل كنم. "
من می تونم اطلاعاتی كه این بات از من ذخیره كردرو ببینم؟ میشه برام میل كنیدش؟
" من همین چند لحظه پیش گفتم كه مشخصات افراد بدون هویتشون ذخیره می شن! پس یعنی همچین كاری نمی تونم بكنم! "
آهان! می خواستم مطمئن شم!
آمار و سرعت رشد نئو در كلوب
سرعت رشد نئو در كلوب خیلی بالا نبود و دلیل اصلیش هم محدودیت هایی بود كه داخلش گذاشته بودم.این بات طوری تنظیم شده بود تا تقریبا هر 5 ثانیه یك درخواست به سرور كلوب بده. دلیلشم وارد نكردن فشار خیلی زیاد به سرور كلوب بوده. البته سرور ها و طراحی كلوب خیلی قوی تر از این هستن كه یك یا چند بات بتونه فشار خاصی به اون ها وارد كنه اما برای اطمینان محدودیت هایی روی بات قرار دادم تا مشكلی پیش نیاد.
این هم نمودار تعداد دوستان نئو بر حسب زمان (ساعت) برای 48 ساعت اول فعالیت این بات.

دسترسی به پروفایل نئو
راستی! اسم این بات رو هم مثل بات های قبلی نئو گذاشتم و پروفایلش رو از اینجا می تونید ببینید.اگر دوست داشتید می تونید پروفایل نئو در یاهو! 360 رو هم اینجا ببینید.
مشكل خیلی كوچك امنیتی در تصویر امنیتی كلوب

مشكل این بود كه برای انجام این فعالیت ها نیاز به وارد كردن یك تصویر امنیتی بود. این تصاویر كه به Captcha معروف هستند كارشون جلوگیری از ورود بات ها به بخش هایی كه قرار نیست واردش بشن هست.
چون یك بات مثل یك آدم نمی تونه تصاویر رو تشخیص بده. البته توجه داشته باشید كه نگفتن نمی تونه، بلكه گفتم به خوبی آدم نمی تونه...خوب اما توی این مورد حتی نیاز به خوندن تصاویر هم نبود! چرا؟
بی شك توی هر سیستمی حتی به قدرت كلوب مشكلات كوچكی هم وجود دارند. یكی از مشكلات این سایت همین بخش بود.
این سیستم به این صورت كار می كنه كه هر عكس شامل سه عدد هست و هر مجموعه عدد یك كد مخفی هم داره كه داخل یك Input مخفی ذخیره میشه. وقتی كه یك یادداشت ثبت میشه، در سرور كلوب چك می شه كه آیا كد مخفی متعلق به همون مجموعه اعداد هست یا نه! اگر بود یادداشت ذخیره می شه و در غیر این صورت پیغامی داده می شه كه لطفاً كدامنیتی را درست وارد كنید.
خوب حالا مشكل این نوع كنترل چیه؟ خوب مشكل اینه كه این راه رو راحت میشه دور زد، به این صورت كه كافیه فقط یك بار یك مجموعه عدد و كد مخفی مربوط به اون مجموعه خونده شه و از اون به بعد هر بار همون مجموعرو وارد كنی و كد مخفی هم بصورت دستی همون كد قبلی بفرستی! اینطوری حتی نیاز به پردازش تصویر امنیتی هم نیست!
با این وجود حتی اگر این مشكل هم نبود، به خاطر سادگی ظاهر و كم بودن نویز در تصویر امنیتی كلوب، به راحتی می شد كاری كرد كه بات این تصاویر رو بخونه!چون رنگ رقم ها همیشه قرمز هست و سایز اونها هم ثابت هستند و فقط كمی می چرخند و همیشه از هم جدا هستند. پس با یك شبكه ی عصبی خیلی خیلی ساده می شه این ارقام رو خوند.
اگر به این موضوع علاقه مند هستید، پیشنهاد می كنم این آموزش رو كه در ارتباط با تشخیص حروف با شبكه های عصبی هست بخونید.
من یك برنامه برای خواندن تصویر امنیتی سایت كلوب نوشتم، هر كدوم از دوستان كه سورس این برنامه كه به زبان جاوا هست رو خواستن كافیه در نظرات درخواستش كنن تا براشون میل كنم.
در نهایت هم سایفر بات كه یك بات پاسخگو هست رو توی یاهو! مسنجر آنلاین كردم و در پروفایل نئو ذكر كردم كه افراد می تونن به این آی دی پیغام بدن و باهاش چت كنن...
لازم هست اینو بگم كه این بات حدوداً 4 سال پیش درست شده و برای زمان خودش بات نسبتاً خوبی بود امّا در حال حاضر یك بات پاسخگو می تونه خیلی هوشمند تر از سایفر باشه...
موارد جالب بعد از ساخته شدن بات كلوب
خوب بعد از ساخته شدن این بات و فعال شدنش، مثل بات های قبلی اتفاق ها جالبی افتاد و افراد مختلف نظرات جالبی رو مطرح كردن.من متأسفانه نتونستم تمام نظر ها و پیغام ها رو بخونم، اما در كل چند مورد برام جالب بود.
اعتماد زیاد كاربران كلوب به یكدیگر
اولین مورد اینكه چطور 13000 نفر بدون اینكه كسی رو بشناسن و حتی یك خط با اون صحبت كرده باشن درخواست دوستی اون رو قبول كردن!نكته ی جالب تر اینكه تعداد خیلی زیادی از این افراد در اولین پیغام خودشون سلام كرده بودن و شماره تلفنشون رو داده بودن. این جو خیلی صمیمانه ی كلوب رو نشون می ده كه برام جالب بود چون تو هیچ جامعه ی مجازی دیگه ای به جز SmallWorld همچین چیزی ندیده بودم.
افراد خیلی زیادی هم پیغام می دادن و می گفتن شما چقدر آدم الافی هستید، یا مثلا تو كارو زندگی نداری؟ و خیلی پیغام های دیگه ای كه محتواشون همین بود...
یه تعداد هم پیغام در این رابطه بود كه من خودم باهات تو یاهو! مسنجر صحبت كردم، چرا الكی میگی روباتی؟ كمبود محبت داری؟ و پیفام هایی مثل این! راستش من هیچ شباهتی بین سایفر كه یه بات خیلی خنگ هست با یك آدم نرمال نمی بینم. احتمالاً دوستان می خواستن من رو با این حرفشون كه این بات خیلی شبیه آدم برخورد می كنه خوشحال كنن. واقعاً از این دوستان ممنونم!
معرفی نئو در بلاگ كلوب
مورد جالب بعدی اینكه من بعد از اینكه لیست دوستان نئو به 10000 نفر رسید یك بلاگ در كلوب با عنوان نئو چیست؟ نوشتم و داخلش بطور كامل توضیح دادم كه این پروفایل یك انسان نیست، اما همچنان پیغام هایی با محتوای اینكه شما چقدر بیكار هستید، یا ببخشید من شما رو میشناسم؟ می گرفتم...جالب اینكه این بلاگ بعد از 8 ساعت جایگاه اول رو توی داغترین مطالب در 24 ساعت به خودش اختصاص داد و الآن كه دو روز هست از نوشته شدنش میگذره جزو 5 مطلب داغ هفته شده.
پروفایل سایفر در كلوب!


آخرین نكته ی جالبی كه به ذهنم می رسه این هست كه من نئو رو تعریف كرده بودم تا هر روز تاریخ تولدش رو به همون روز تغییر بده، و جالب تر اینكه هر روز تعداد خیییییلییی زیادی تولد این بات رو تبریك می گفتن و نقاشی های بسیار زیادی هم برای این روبات كشیدن. من واقعاً از این جو صمیمانه ی كلوب خوشم اومده. اینكه افراد چند دقیقه از وقتشون رو صرف خوشحال كردن و تبریك گفتن به كسی می كنن كه شاید تا حالا باهاش حرف نزدن قابل تقدیره. اما نكته ی جالب تر اینه كه من از خیلی افراد چندین و چند بار پیغام تبریك گرفتم! اما فقط یكی از اون همه پیغام متنش این بود كه مگه تو دیروز تولدت نبود؟ برام جالب بود كه فقط یك نفر به این موضوع توجه كرده بود...

یك مشكل امنیتی كوچك دیگه
همونطوری كه بالاتر هم گفتم همه ی سایت ها، حتی سایت های بزرگ مثل MySpace و Yahoo! 360 كه جزو بزرگترین جوامع مجازی هستند مشكل های امنیتی می تونن داشته باشن...نمونش باگ های XSS ای كه چند مدت پیش در MySpace كشف شد یا باگ دیگه ای كه در Yahoo! 360 باعث هك شدن كلی آی دی یاهو! شد.
ماجرای این باگ ها چی بوده؟ من نشنیدم!
" خوب اول ماجرای XSS Worm سایت MySpace رو می گم: ماجرا از این قرار بود كه یه كاربر با نام Samy راهی پیدا كرد كه بتونه یك كد جاوااسكریپت رو روی صفحه ی خودش قرار بده. هر كاربری كه به صفحه ی این كاربر سر می زد كد اجرا می شد و علاوه بر اضافه كردن Samy به لیست دوستان اون شخص، این كد رو در صفحه ی اون كاربر هم جایگذاری می كرد! به این ترتیب این كرم به صورت نمایی رشد پیدا كرد به طوری كه بعد از گذشت یه مدت كوتاه حدود یك میلیون كاربر به لیست Samy اضافه شدن!
ماجرای باگ یاهو! 360 هم این بود كه می شد با یك ترفندی یك كد جاوااسكریپت رو در پیغام های خصوصی جا داد، و وقتی كسی به صندوق پیام هاش میرفت این كد جاوااسكریپت صفحه ی صندوق پیام رو به یك صفحه كه شبیه صفحه ی لاگین یاهو! طراحی شده بود هدایت می كرد. و هر كس توی اون فرم لاگین می كرد پسوردش عوض می شد و مجدداً توسط اون آیدی پیام آلوده به دوستانش فرستاده می شد! "
مشكل در سیستم چت هست! و با این مشكل می شه بدون لاگین كردن از طرف شناسه ی كلوبی كه پسوردش رو ندارید و برای شما نیست به هر یك از كاربران كلوب پیام زنده بدبد و پیغام كاربران دیگر رو قبل از اینكه بدستشون برسه بخونید!
مثلا من می تونم با شناسه ی كاربری یك كاربر دیگه به دوستم پیام زنده بفرستم، یا گفتگوی زنده ی یكی دیگه از دوستام رو قبل از اینكه بدستش برسه بخونم!
البته ایراد خیلی بزرگی نیست اما فكر كنم باید سریعاً بهش رسیدگی بشه چون ممكنه توی این چت ها مطالبی گفته بشه كه كاربر دوست نداشته باشه شخص دیگه ای اونارو بدونه...
معرفی این باگ و طریقه ی استفاده از اون
من به صورت خیلی خلاصه این باگ و نحوه ی استفاده كردن از اون رو توضیح می دم.جهت فرستادن پیغام به هر كاربر كافیه این خط رو توی آدرس بار مرورگرتون كپی كنید و Enter رو بزنید.
به جای 990### كافیه كد كاربر مورد نظر رو بزنید. برای پیدا كردن این كد كافیه به صفحه ی كاربر مورد نظر برید و كد HTML اون صفحرو نمایش بدید و در نهایت عبارت زیر رو جستجو كنید:
http://chat.cloob.com//Chat/Chat_Manager.php?data={"user":"990###","event":"sendMessage", "time_str":"s9ecmmgggmzoxg","message":"Salam!"}
اولین نتیجه ای كه خواهید دید باید شبیه خط زیر باشه:
id="user_
مثلا در این مورد 981096 كد كاربر مورد نظر هست.s9ecmmgggmzoxg شامل كدی مرتبط با فرستنده و تاریخ هست.
<p id="chat_user_981096-1"/>
شما می تونید بخش پر رنگ رو تغییر بدبد تا از طرف كاربران دیگه پیغام بتونید بدید.اگر به همین شكلی كه هست استفاده كنید از طرف كاربری به نام نئو پیغام رو می فرسته! اگر بخواین از طرف فردی ناشناس پیغامتون رو بفرستید كافیه به جای این كد siavash بنویسید!
توجه داشته باشید كه اگر از طرف فردی نا شناس بخواین پیغام بفرستید كاربر مقابل فقط وقتی پیغام شما رو دریافت خواهد كرد كه پنجره ی گفتگوی زندش باز باشه. (اگر نباشه اولین باری كه بازش كنه پیام شما رو دریافت خواهد كرد.)
و آخرین بخشی كه ممكنه نیاز بشه تغییرش بدید Salam! هست كه می تونید با پیغامی كه می خواین عوضش كنید.
خوب تا اینجا می تونید از طرف شخصی كه پسوردش رو ندارید، حتی به افرادی كه گرفتن گفتگوی زندشون رو محدود كردن پیغام بفرستید!
برای گرفتن پیغام دیگران كافیه این لینك رو در مرورگرتون اجرا كنید:
اینجا 990### كد شخصی هست كه می خواین پیغامش رو بگیرین و s9ecmmgggmzoxg هم كد رمز شده ی خود شماست!
http://chat.cloob.com//Chat/Chat_Manager.php?data={"user":"990###","event":"readMessage", "users_status":"","time_str":"s9ecmmgggmzoxg"}
با اجرای این لینك مرورگر شما منتظر می مونه تا پیغام جدیدی برای شما بیاد و بعد از دریافت، اون رو نمایش میده!
این باگ در عمل
توی این فیلم می تونید استفاده از این باگ رو در عمل مشاهده كنید.همونطوری كه می بینید دو پنجره باز هستند. اولین پنجره صفحه ی فردی هست كه از این باگ استفاده می كنه و پنجره ی دوم صفحه ی شخصی هست كه روش این مشكل امنیتی رو داریم تست می كنیم.در ابتدا در پنجره ی اول Logout می كنیم تا معلوم شه بدون لاگین بودن میشه از این باگ استفاده كرد.
مرحله ی بعدی پیدا كردن userid كاربر مورد نظر هست. برای این كار من از Inspect Element كه یكی از قابلیت های مرورگر كروم و خیلی از مرورگر های دیگه هست استفاده كردم. می شد این كار رو با View page source هم انجام داد.
حالا userid رو داخل لینك اولی كه در بخش قبل معرفی كردم paste می كنیم و بعد از چند ثانیه می بینید كه كاربر در پنجره ی دوم پیغام رو دریافت می كنه! یادآوری می كنم كه در مرورگر اول حتی لاگین نبودیم!
حالا با تغییر یك حرف در مقدار time_str دوباره این كار رو تكرار می كنیم.
همونطور كه می بینید كاربر در مرورگر دوم مجدداً پیغام رو دریافت می كنه اما از طرف یك كاربر با نام دیگه!
در ادامه هم با استفاده از لینك دوم و userid كاربر مورد نظر پیغام هایی كه از طرف اون كاربر به نئو رسیدرو دریافت می كنیم! مجدداً با وجود اینكه لاگین نیستیم!
یعنی دقیقا می تونید از طرف یك شخص دیگه به یك كاربر پیغام بدید و پیام های اون كاربر رو دریافت كنید.
نتیجه گیری
باز هم میگم هدف از این پست مطلع شدن طراحان كلوب از این باگ هست.طراحی این وبسایت بسیار خوب و دقیق بوده و باگ های كوچكی مثل این موارد هیچ خدشه ای به موفقیت این وبسایت وارد نمی كنه، ولی برطرف كردن این موارد به بهتر شدنش كمك می كنه.
باز هم به طراحان این وبسایت كم نظیر تبریك می گم.
به روز رسانی: این باگ توسط طراحان كلوب اصلاح شد
خوشبختانه در مدّت زمان خیلی كمی این باگ توسط طراحان كلوب اصلاح شد. در حال حاضر جهت دریافت و یا ارسال پیغام زنده علاوه بر پارامتر های قبلی پارامتر جدیدی با نام time_ftr نیز باید به سرور تحویل داده شود. پس لینك های جدید به این صورت خواهند بود:كه مقدار time_ftr یك MD5 Hash می باشد و برای هر كاربر متفاوت است. از خواص MD5 می توان به برگشت ناپذیر بودن آن اشاره كرد و با توجه به این ویژگی پیدا كردن نحوه ی ساخت این پارامتر بسیار دشوار و شاید غیر ممكن باشد. همچنین با توجه به اینكه دو پارامتر، هویت هر كاربر را مشخص می كنند دیگر با عوض كردن یك حرف، حدس زدن یا Bruteforce كردن، نمی توان از طرف كاربر دیگری پیغامی فرستاد یا پیام های زنده ی وی را دریافت نمود.
http://chat.cloob.com//Chat/Chat_Manager.php?data={"user":"990###", "event":"readMessage", "users_status":"", "time_str":"s9ecmmgggmzoxg", "time_ftr":"fb24b622e#####15bbceecf6a7e6bf66"}
از حسن توجه طراحان كلوب ممنونم و مجدداً به این تیم به خاطر ایجاد این سایت قدرتمند تبریك می گم.
لینك های داخلی
لینك های خارجی
- خبر وبنا در ارتباط با باگ امنیتی كلوب
- لینك تصویری این باگ در Youtube
- پروفایل نئو در كلوب
- پروفایل نئو در یاهو! 360
تگ ها
cypher, bot, neo, social network, bug, cloobنظرها
- نام:
- ایمیل:
- وبگاه:
- نظر:
- مدیر:
- پست شده در تاریخ 2010/01/10, 11:56:35
- " سلام می تونی این کد رو برام ارسال کنی آقا ارسال کنی ها نامردی نکنی:D "
- alireza:
- پست شده در تاریخ 2010/01/04, 13:17:12
- " salam mishe chandta jameye majazi ke marofam nabashan ziad val moshkeli mesle face book nadashte bashan e-mail konid "
- d.d.d.:
- پست شده در تاریخ 2009/11/11, 09:05:31
- " سلام مطلب تون خیلی جالب بودو بسیار مفید. یه سوال داشتم. راستش اعتماد زیادی به کلوب ندارم برا اینکه مدتی ه یه نفر که قبلا هم میشناختمش برام دوباره دعوتنامه ی دوستی فرستاده بود که منه ساده هم تایید کردم. ولی بعدش هر کاری کردم از لیست دوستانم حذف نمی شد. چند نفر رو همینجوری حذف کردم شد ولی اون نمیشد . پیغامی که میداد این بود دسترسی به این بخش امکان پذیر نیست انگار این من بودم که از بیرون میخاست به اون قسمت وارد شه خیلی برام عجیبه. بعد انگاری خودش حذف کرد نمیدوم . میتونه مخفیانه حضور داشته باشه یا هکم کنه . از این ادما هر چی بگی بر میاد از زور بی کاری چه کارا که نمی کنن. ممنون میشم جواب بدین. "
- رامین:
- پست شده در تاریخ 2009/11/06, 20:19:52
- " اگه بشه منم اون کدرو می خوام، خیلی ممنون می شم. "
- حسن:
- پست شده در تاریخ 2009/09/15, 17:26:15
- " سلام اگه میشه اون کد مربوط به نئو رو برام بفرستی hassan141989@yahoo.com بازهم ممنون "
- سینا:
- پست شده در تاریخ 2009/05/17, 02:07:11
- " سلام . میشه سورس برنامه خوندن کدهای امنیتی رو برای من هم بفرستین . ممنون میشم . این کد ها امنیتی حال آدمو می گیره. "
- roxana:
- پست شده در تاریخ 2009/04/03, 07:56:38
- " mamnoon,matlabe jalebi bood,etefaghan man mozooe projamo amniat too sithaye social network entekhab karde boodam,kheyli doos dashtam age mishe ye seri soal raje be hamin azatoon beporsam...emkanesh has? "
- Seyyed Amin:
- پست شده در تاریخ 2009/04/03, 02:19:54
- " سلام من هنوز وقت نکردم متن رو بخونم اما ویدئو رو دیدیم می خواستم بدونم باچی فیلم بردادی کردی؟ "
- shayan:
- پست شده در تاریخ 2009/03/19, 11:35:48
- " BISTE BISTIIIIIIIIIIIIIIIIIIIII "
- محمد:
- پست شده در تاریخ 2009/03/17, 15:51:13
- " به نظر من کار خیلی ساده تر و مطمئن تر برای طراحان کلوب استفاده از session بود. تنها پارامترهایی که نیاز داشت در json قرار دهند، ID گیرنده پیغام و متن پیغام بود. بقیه اطلاعات مثل ID فرستنده و time stamp و ... باید سمت سرور ساخته شوند "
- fantometkh:
- پست شده در تاریخ 2009/03/05, 23:54:13
- " eifal :* :) "
- dostare neo:
- پست شده در تاریخ 2009/02/28, 10:02:54
- " راستي جديدا گفتگوي زنده كلوب عوض شده منم با شبكه ميام بالا و قادر به درخواست تنظيمات نيستم چطور ميتونم فعالش كنم ممنون "
- dostare neo:
- پست شده در تاریخ 2009/02/28, 10:01:33
- " سلام آقا سياوش با اين اطلاعاتي كه ميدي معلومه كلي بارته دمت گرم خيلي خوشم اومد اميدوارم هميشه تو كارات موفق باشي كاش منم ميتونستم در محضرت يه چيزي ياد بگيرم خيلي علاقه دارم "
- moji:
- پست شده در تاریخ 2009/02/25, 02:41:54
- " chera safheye goftogooye zendeam baz nemishe va inke panjereye gofogooye zende va azaye cloob ham baz nemishan "
- ﺎﻣﻳﺭﻤﻬﺩﮮ:
- پست شده در تاریخ 2009/02/17, 21:17:19
- " من یك برنامه برای خواندن تصویر امنیتی سایت كلوب نوشتم، هر كدوم از دوستان كه سورس این برنامه كه به زبان جاوا هست رو خواستن كافیه در نظرات درخواستش كنن تا براشون میل كنم))))))((((((من اینو میخوام :( پدرمونو در آورده این کد تصویری !! اگه میشه واسه من میل کن خیلی لازمش دارم !! من همونیم که پروفایل سایفر روبات رو ساختم که اون بالا هم عکسشو گذاشتی !! اگه خواستی پسوردشم بهت میدم !! اون سورس رو بهم بده خیلی لازمش دارم :(:( "
- شهاب:
- پست شده در تاریخ 2009/01/16, 13:55:49
- " Salaam, Man mikhastam bebinam code-e java baraye kari ke darmorede captcha kardid ro mitunam begiram? Mamnoonam "
- امیر:
- پست شده در تاریخ 2008/12/04, 21:20:51
- " سلام. من می خواستم اگه میشه کد javaی اون برنامه تشخیص عکس رو می خواستم.اگه برام میل کنید ممنون میشم. یه سری سوال هم دارم که خصوصی ازتون می پرسم. چه وقتایی on میشید؟ ممنون بابت توجه. شب خوش. "
- ناصر:
- پست شده در تاریخ 2008/12/04, 12:30:15
- " خیلی برام جالب بود، دونستن اینکه در ایران هم چنین اتفاقی میوفته خوشحال کننده است، امکانش هست سورس این موضوعی رو گفتی برای من هم بفرستی . سپاس "
- yek cloobi:
- پست شده در تاریخ 2008/12/04, 01:30:57
- " salam lotfan ba bande tamas begird 09111348500 fayyazi "
- امیر:
- پست شده در تاریخ 2008/12/03, 19:57:22
- " سلام منم اگه بخوام یه کاری کنم که ادد لیستم زیاد بشه باید چیکار کنم؟ میشه مثلا در قبال پولی که من به شما میدم تعداد ادد لیسته منو مثلا به 30.000 تا برسونید؟ آیا امکانش هست؟ این شماره منه 09192039785 ممنون میشم بیشتر اطلاعات به من بدید شما واقعا نابقه اید "
- vahid:
- پست شده در تاریخ 2008/10/09, 19:06:22
- " salam siavash jan, mamnoon misham age source barnameyi ke goftio vasam befresti. "
- rayan:
- پست شده در تاریخ 2008/09/26, 08:23:06
- " man khodam ba php tarahi site mikoam jaleb bood "
- Hossain:
- پست شده در تاریخ 2008/09/23, 00:20:34
- " adam khof mikONe ina RO mikHOne:D MERC vaghgean:D "
- توت فرنگی وحشی:
- پست شده در تاریخ 2008/09/20, 22:29:30
- " سیاوش تو مثل همیشه منو مجبور می کنی بخونم ! "
- ابوذر:
- پست شده در تاریخ 2008/09/17, 12:04:23
- " مثلاينكه اين نظر ها رو هم خودت روبات كردي "
- محسن:
- پست شده در تاریخ 2008/09/15, 12:13:55
- " كنجكاو جان خوب اين چه ربطی به ربات داره. تو كه عكستو گذاشتي توی پروفايلت يعنی قبول كردی بقيه ببينن عكستو يا سيوش كنند. با اين حساب به كل كلوب بايد اين نكترو گوش زد كنی. چون ممكنه از عكست يا اطلاعاتت استفاده كنند :))))) "
- کنجکاو:
- پست شده در تاریخ 2008/09/15, 11:47:29
- " به نظرتون شما که اطلاعات 168 هزار نفر ور گرفتی و ذخیره کردی از کجا معلوم از عکس یا اطلاعات شون استفاده نکنی؟ البته ممنونم که اینو بیان کردی و باید به نظرم به درخواست دوستیها بیشتر دفت کنیم "
- MKH:
- پست شده در تاریخ 2008/09/14, 21:58:16
- " خیلی مطلب جالبی بود!:D اگه میشه سورس این برنامه ی تشخیص تصویر رو برای من میل کن !:D "
- hacker:
- پست شده در تاریخ 2008/09/14, 16:06:26
- " jalebe "
- من نه منم !:
- پست شده در تاریخ 2008/09/14, 14:30:12
- " سلام نماز و روزه هاتون قبول باشه ( انشالله) آقا به وجود انسانهائي مثل شما افتخار ميكنيم. انشالله هميشه موفق باشين. التماس دعا .وخداحافظ "
- Dijam:
- پست شده در تاریخ 2008/09/14, 09:39:53
- " سلام سیاوش ، نمی دونم از کی کلوپ رو میشناسی ، من از روزای اولی که راه افتاد ازش استفاده می کردم ، راه طولانی رو طی کردن تا به اینجا رسیدن ، بیشتر شبیه آزمون و خطا بود تا یه کار حساب شده!! اوایل باگ های وحشتناکی داشتن حتی تا یک سال پیش ، اما الان واقعا به ثبات خوبی رسیدن.... "
- MAM:
- پست شده در تاریخ 2008/09/14, 09:17:24
- " سلام من يكي از كساني هستم كه شما يا شايد بهتر نئو من را در ليست دوستانتان خهود قرار داد واقعا وقتي اين را خوندم يك خورده ترسيدم چون من خيلي از اين جور چيز ها لطمه خوردم و تقريبا ديگه هيچ وقت طرف اينجور چيز ها نمي رم مي خواستم بدونم اين كه به كامپيوتر من يا بقيه افراد صدمه كه نمي زنه (الته ببخشيد اينجوري سوال مي پرسم) چون واقعا نميشه به اين جور چيز ها اطمينان كامل داشت ولي واقعا شما نابغه ايد اصلا اين چيز هايي كه گفتيد اصلا درك من ان را نمي كشيد ممنون از اطلاعاتتان "
- فرامرز:
- پست شده در تاریخ 2008/09/14, 03:54:50
- " سياوش يه نمونس يه نمونه واسه همه ماها نمونش خيلي خيلي كم پيدا ميشه سياوش خيلي كارت درسته به خدا به تلاشت و به استعدادت غبطه ميخورم و خيلي خوشحالم كه تو ايراني هستي دمت گرم "
- n3o:
- پست شده در تاریخ 2008/09/14, 02:47:21
- " خوب، اصلا از خوندن این پست تعجب نکردم. هر جاش که می خواستم شگفت زده شم، باز به خودم می گفتم، خوب این که چیزی نیست، سیاوشم بلده اینکارارو!!!... ولی یه تشکر بهت بدهکارم. اینکه خیلی بهم انگیزه میدی. از همون 4 - 5 سال پیش تا الان پیشرفتم به خاطر انگیزه دادنای تو بوده (البته باید بگم این یه ذره پیشرفت)...!!! "
- امید پیله ور:
- پست شده در تاریخ 2008/09/14, 01:52:33
- " سیاوش جان دمت گرم خیلی باحالی <br> مثل اینکه خوش بختانه مسئولین سایت کلوب این باگ آخریه رو بستن :D "
- bobjef:
- پست شده در تاریخ 2008/09/13, 21:32:31
- " آقا سیاوش مثل همه پروژه های قبلیت گل کاشتی. احسنت که توضیحات کامل دادی و مشتاقان این علم رو آگاه کردی. به امید روزی که برای ایران در جهان افتخار آفرینیات رو تکرار کنی "
- فرزانه:
- پست شده در تاریخ 2008/09/13, 18:31:35
- " سلام من یه آدمیم که تا حالا فقط به سایتا مرفتم سر میزدم نگاه می کردم نظر میدادم....... و خلاصه یه مشت کار بیخود دیگه که توی این دنیای نت انجام میدادم ادعا میکردم از pc چیزی حالیم اما باید اعتراف کنم بعد خوندن این مطالب هنگ کردم که چقدر من خنگم بابا تو دیگه کی هستی!!!!! خیلی دوست دارم بیشتر در مورد این یه سری مسائل بدونم واقعا جالب بود مرسی از اطلاعاتتون همیشه موفق و پیروز باشین یا حق "
- tst:
- پست شده در تاریخ 2008/09/12, 11:05:43
- " 12345667 "
مهمان ( 






