/
  • یک نقطه ضعف در سیستمهای Login/Registration

  • صفحه‌ها (2):
  • ارسال پاسخ   امتیاز موضوع:
    • 1 رأی - میانگین امیتازات: 5
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی یک نقطه ضعف در سیستمهای Login/Registration
    نویسنده پیام
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,780
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 103
    تشکرها : 2181
    ( 4856 تشکر در 2220 ارسال )
    ارسال: #1
    یک نقطه ضعف در سیستمهای Login/Registration
    داشتم بخاطر YouTube مسخره داخل Gmail مسخره عضو میشدم که...

    فکر می کنید چرا موقع Login در سیستم های Login و عضوت اگر username رو صحیح یا اشتباه بزنید و password رو اشتباه بزنید، 99% سیستمها پیام میدن که:
    The username or password you entered is incorrect
    یا نام کاربری یا کلمه رمز اشتباه هست
    و...

    طبیعتاً بخاطر ضعف برنامه نویسی یا کوتاه/خلاصه نویسی نیست درسته؟
    یا هندل کردن پیامهای متعدد؟

    99% بخاطر مسایل امنیتیه Idea
    که خرابکار متوجه نشه که این یورز اصلاً وجود داره یا نه
    درسته دیگه؟


    خب یکی نیست این وسط بگه تو که در قسمت ثبت نام/registration ت امکان چک وجود اون یوزر رو گذاشتی که
    myusername already exists
    myusername is not available
    myusername is exists
    ...

    این شامل Gmail YAHOO AOL انجمن ها... و تمام سیستم های عضویت و login در اینترنت میشه Idea

    دقت کرده بودید؟
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
    http://gulfnews.com/opinion/thinkers/ira...i-1.500997
    (آخرین ویرایش در این ارسال: ۱۳۹۴ ارديبهشت ۳ ۰۱:۳۶ عصر، توسط Y.P.Y.)
    ۱۳۹۱ ارديبهشت ۸ ۰۱:۵۰ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    mohsened آفلاین
    محسن افتخاردادخواه
    ***

    ارسال‌ها: 132
    تاریخ عضویت: ۱۳۸۹ ارديبهشت ۱۲
    اعتبار: 3
    تشکرها : 277
    ( 130 تشکر در 75 ارسال )
    ارسال: #2
    RE: یک نقطه ضعف در سیستمهای Login/Registration
    خوب بالاخره اگر اون هم نباشه می تونن فرم ثبت نام رو سابمیت کنن و ببینن که وجود داره یا نه .
    دیگه نمیشه فرم ثبت نام رو حذف کرد که . حالا اون امکان فقط سرعت اینکارو بیشتر می کنه
    __________________________________________________________________________
    Facebook
    EMail: Mohsen [@] EDadkhah [.] ir
    ۱۳۹۱ ارديبهشت ۸ ۰۲:۵۰ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,780
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 103
    تشکرها : 2181
    ( 4856 تشکر در 2220 ارسال )
    ارسال: #3
    RE: یک نقطه ضعف در سیستمهای Login/Registration
    خب دیگه منظورم این حرکت دره پیت و اذیت کنندست
    که کار ما کاربر عادیشون رو سخت کردن فقط
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
    http://gulfnews.com/opinion/thinkers/ira...i-1.500997
    (آخرین ویرایش در این ارسال: ۱۳۹۱ ارديبهشت ۸ ۰۴:۳۳ عصر، توسط Y.P.Y.)
    ۱۳۹۱ ارديبهشت ۸ ۰۴:۲۲ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : phpveteran
    phpveteran آفلاین
    رامين فرماني
    *******

    ارسال‌ها: 266
    تاریخ عضویت: ۱۳۸۸ خرداد ۱۴
    اعتبار: 14
    تشکرها : 11
    ( 514 تشکر در 204 ارسال )
    ارسال: #4
    RE: یک نقطه ضعف در سیستمهای Login/Registration
    نکته جالبی بود
    __________________________________________________________________________
    ۱۳۹۱ ارديبهشت ۸ ۰۴:۲۷ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    vejmad آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,460
    تاریخ عضویت: ۱۳۸۹ ارديبهشت ۲۱
    اعتبار: 23
    تشکرها : 484
    ( 1247 تشکر در 611 ارسال )
    ارسال: #5
    RE: یک نقطه ضعف در سیستمهای Login/Registration
    چک کردن ایجکسی نام کاربری در فرم ثبت نام از نظر امنیتی جالب نیست. چون این امکان رو میده که براحتی و سرعت نامهای کاربری رو چک کنن.

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

    کلا جلوی روبات ها رو گرفتن خودش اهمیت داره. روبات از انسان خیلی سریعتر و کاراتره در خیلی مسائل و حمله های زیادی هستن که فقط با روبات ها درمورد اونها تلاش میشه. بکارگیری نیروی انسانی هزینهء زیادتری داره و سرعت کمتری داره و خسته میشه و انگیزه نداره و از این حرفا که این جلوی خیلی از حمله ها رو میگیره یا شدت اونها و ضریب موفقیتشون رو به میزان زیادی کم میکنه.

    پروژهء منم اگر بخش ثبت نام غیرفعال شده باشه یا چک کردن ایجکسی نام کاربری غیرفعال شده باشه، سعی میکنه نامهای کاربری ناموجود در سیستم رو موجود جلوه بده. البته این کلک از چیزی که در ابتدا فکر میکردم پیچیده تر و پرهزینه تر شد که شاید اگر از اول میدونستم این کار رو نمیکردم. چون وقتی سعی کردی چیزی رو وانمود کنی اونوقت میبینی در ده جای دیگر سیستم هم باید همین کار رو بکنی و به کلی چیز دیگه ارتباط پیدا میکنه، و این هم پیچیدگی و دردسر ایجاد میکنه و هم سیستم شکننده تر و اطمینان بهش کمتر میشه (کسی چه میدونه شاید یک جا و مورد خاص از این همه مورد ممکن از زیر دست در رفته باشه). الانم من مطمئن نیستم که سیستم در یک جای خاصی وجود یک نام کاربری رو براحتی بروز نده، اما بهرحال این سیستم فکر کنم بصورت آزمایشی و اطمینان هم که شده بد نیست و اگر سودی نداشته باشه ضرر چندانی هم نداره. چون بصورت پیشفرض و در بیشتر حالتها بخاطر فعال بودن ثبت نام و چک کردن ایجکسی نام کاربری غیرفعاله دیگه گزینه ای برای غیرفعال کردنش نذاشتم و به این کار اولویت ندادم (شاید بعدا باید یک گزینهء کانفیگ براش بذارم).

    راستی شاید بتونیم چک کردن ایجکسی نام کاربری در فرم ثبت نام رو هم یجورایی محدود کنیم. یخورده نیاز به فکر و طراحی یه سیستم مخصوصی براش داره. بنظرم اگر این کار رو بکنیم بد نباشه. ولی خب کار و دردسر داره.
    بهرحال اگر سیستم قفل بر اساس اکانت و IP داشته باشیم خیالمون خیلی راحتتره، ولی بازم اصولیش از نظر امنیت اینه که اگر میتونیم چک کردن ایجکسی رو هم محدود کنیم.
    مثلا وقتی چند صدتا درخواست در مدت کوتاهی از یک IP برای چک کردن ایجکسی نام کاربری دریافت میشه، به احتمال زیاد دارن با روبات این کار رو انجام میدن و احتمالا باید جلوش رو گرفت! نه؟ ولی این نیاز به این داره که این تلاشها رو در دیتابیس رکورد کنیم.

    درمورد اینکه چرا وقتی با فرم ثبت نام و بخصوص با امکانات ایجکسش میشه نام کاربری رو چک کرد در فرم لاگین مشخص نمیکنه که نام کاربری یا پسورد اشتباه بوده، فکر میکنم همچنان اینطوری بهتر باشه. چون هم برنامه ساده تر میشه و امنیت زیرسیستمهای مختلف اون به همدیگر وابسته نیست، و هم حداقل جلوی بعضی جوجه هکرها و افراد فضول و بعضی موارد خاص رو ممکنه بگیره. مثلا برنامه های آماده برای Brute-force که خودم تاحالا دیدم روی فرم لاگین کار میکنن و اینقدر پیچیده و مجهز نیستن که اول بیان از طریق ایجکس بخش ثبت نام سایت نامهای کاربری ثبت شده رو دربیارن و بعد از طریق فرم لاگین سعی در Brute-force اونها داشته باشن. خب این کار نیاز به برنامهء پیچیده تر و کاربر حرفه ای تر و بکارگیری پیچیده تری هم داره تا یک فرم ثبت نام که حمله کردن بهش خیلی مشخص و ساده هست و اغلب نیازی به بررسی ساختار داخلیش نیست.
    قرار نیست چون یک جا نشت اطلاعاتی داریم در بخشهای دیگر هم بیخیال بشیم. بهتره نشت رو در همون جاهایی که هست محدود کنیم. اینطوری مدیریت امنیت برنامه و تغییر و اصلاحش در آینده در جهت امنیت، راحتتر و مطمئن تر میشه.
    __________________________________________________________________________
    God knows
    (آخرین ویرایش در این ارسال: ۱۳۹۱ ارديبهشت ۸ ۰۵:۳۵ عصر، توسط vejmad.)
    ۱۳۹۱ ارديبهشت ۸ ۰۵:۲۱ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    Na3r آفلاین
    ناصر خلقی
    *****

    ارسال‌ها: 412
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 11
    تشکرها : 257
    ( 576 تشکر در 308 ارسال )
    ارسال: #6
    RE: یک نقطه ضعف در سیستمهای Login/Registration
    تا اونجایی که یادم میاد bot ها جاوا اسکریپت رو هندل نمی کنن. Huh
    البته میدونم باتهایی هم هستن که بتونن این کارو کنن ولی فکر نمی کنم تعدادشون زیاد باشه.
    (آخرین ویرایش در این ارسال: ۱۳۹۱ ارديبهشت ۸ ۰۵:۴۸ عصر، توسط Na3r.)
    ۱۳۹۱ ارديبهشت ۸ ۰۵:۴۲ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    vejmad آفلاین
    عضو ارشد
    *****

    ارسال‌ها: 1,460
    تاریخ عضویت: ۱۳۸۹ ارديبهشت ۲۱
    اعتبار: 23
    تشکرها : 484
    ( 1247 تشکر در 611 ارسال )
    ارسال: #7
    RE: یک نقطه ضعف در سیستمهای Login/Registration
    این مسئله لزوما درمورد تمام برنامه ها و غیرممکن نیست.
    میشه برنامه هایی نوشت که این کار رو هم انجام بدن. منتها حتما به پیچیدگی و هزینش صرف نمیکرده و اینقدر تارگت راحت هست که نیازی به این کارا نبوده.

    دوما مثلا برای اینکه از سیستم چک کردن ایجکسی نام کاربری توسط روبات سوء استفاده کنیم اصلا نیازی به اجرای جاوااسکریپت نداره. کافیه سورس HTML و کدهای جاوااسکریپتش مقداری بررسی و تحلیل بشه (بنظرم از یک اسنیفر هم میتونیم استفاده کنیم و شاید روش ساده و سریعتری هم باشه) تا اون آدرس و فرمت درخواست نهایی و جوابش که توسط ایجکس صورت میگیره رو دربیاریم. بعد میتونیم یه برنامهء ساده و کوچک بنویسیم که درخواستها رو به اون آدرس با فرمت صحیح بفرسته و جوابها رو بخونه. کار سختی نیست. حتی منم میتونم!
    اگر روبات های پیشرفته تری باشن یا ساخته بشن که امکانات آماده برای این قضیه داشته باشن دیگه کار خیلی راحتتر هم میشه و کسانی هم که نمیتونن اینطور برنامه نویسی کنن میتونن ازش استفاده کنن. یعنی آدرس فایل سمت سرور مسئول ایجکس و فرمت درخواست و اینها رو براش مشخص کنی و خودش بقیهء کارها رو انجام بده.

    امنیت باید تاجاییکه میشه محکم باشه و به زمان و فرضهای بی پایه وابسته نباشه.
    __________________________________________________________________________
    God knows
    (آخرین ویرایش در این ارسال: ۱۳۹۱ ارديبهشت ۸ ۰۵:۵۲ عصر، توسط vejmad.)
    ۱۳۹۱ ارديبهشت ۸ ۰۵:۴۹ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    Na3r آفلاین
    ناصر خلقی
    *****

    ارسال‌ها: 412
    تاریخ عضویت: ۱۳۸۷ دي ۳
    اعتبار: 11
    تشکرها : 257
    ( 576 تشکر در 308 ارسال )
    ارسال: #8
    RE: یک نقطه ضعف در سیستمهای Login/Registration
    در کل اگه هم فرم لاگین و هم سرور در مقابل brute force امن باشه دیگه نمی خواد خیلی نگران باشیم که اتکر میدونه چی یوزری تو سیستم ما وجود داره
    ۱۳۹۱ ارديبهشت ۸ ۰۶:۴۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Reza آفلاین
    رضا شیخله
    *****

    ارسال‌ها: 3,024
    تاریخ عضویت: ۱۳۹۰ آبان ۱۶
    اعتبار: 133
    تشکرها : 2724
    ( 2715 تشکر در 1691 ارسال )
    ارسال: #9
    RE: یک نقطه ضعف در سیستمهای Login/Registration
    خب اصولاً username يه اطلاعات رو رفته محسوب ميشه ! پس دلسل اينکه در هنگاه لاگين اون خطا رو ميده مسخره است !
    شما اگه آدرست ايميلت رو بدي مثلاً myname@gmail.com علاناً ميگي يوزرمن myname هست !

    پس علناً اين اطلاعات لو رفته ديگه پس چه لوزمي داره بپيچونيمش!
    __________________________________________________________________________
    -- - RezaWorkShop.ir - blog.RezaOnline.net
    ۱۳۹۱ ارديبهشت ۸ ۰۷:۱۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,780
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 103
    تشکرها : 2181
    ( 4856 تشکر در 2220 ارسال )
    ارسال: #10
    RE: یک نقطه ضعف در سیستمهای Login/Registration
    من خودم دارم روی این تحقیق می کنم که تمام سیستم های لاگین بر اساس شماره ملی/social number بشه چطور میشه...
    مثلاً یه تکس باکس 15 کاراکتری(برای طویل ترین sn ها) و یک تک باکس رمز
    دیگه کاربر هیچوقت یوزرشو فراموش نمی کنه، و نه یوزر های دره پیت ساخته میشه(2010 2011 2012 نقطه خط فاصله و...) و نه لو میره به این راحتیا
    خیلی تمیز و ساده
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    صدام: "اگر با ارتش شاه ایران طرف بودیم، یک ماهه جنگ را می بردیم"
    http://gulfnews.com/opinion/thinkers/ira...i-1.500997
    (آخرین ویرایش در این ارسال: ۱۳۹۱ ارديبهشت ۸ ۰۷:۵۹ عصر، توسط Y.P.Y.)
    ۱۳۹۱ ارديبهشت ۸ ۰۷:۵۵ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : Reza
    « قدیمی تر | تازه‌ تر »

  • صفحه‌ها (2):
  • ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS