• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Middle Man
#1
Question 
سلام

فکر کنید ما پسورد رو در سمت کاربر با جاوااسکریپت رمز نگاری کنیم و بفرستیم، مثلا با md5 یا SHA1
داشتم به این موضوع فکر میکردم که آیا شخص میانی که داره پسورد کاربر رو استراق سمع میکنه و طبیعتاً رمز شده پسورد رو هم میبینه، آیا میتونه همون رمز شده پسورد رو ارسال کنه و login کنه

یعنی خب طبیعتاً پسورد اصلی رو نمیدونه و نمیتونه هم بیاد تو صفحه ورود اون پسورد رمز شده رو بگیره، چون md5 اون پسورد هش شده یه چیز دیگه میشه، اما آیا میتونه بیاد عملیات ورود رو از وسط راه شروع کنه، یعنی مثلاً اسم تکست باکس PassTxt هست، اون بیاد وسط بسته Post ما یه متغیر PassTxt بزاره و md5 پسورد رو هم بزاره توش؟
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط :
#2
سلام.
فکر کنم منظورتون رو اشتباه متوجه شدم ! اما اون چیزی که متوجه شدم رو توضیح میدم براتون.
ببینید وقتی شخص میانی Sniff رو شروع کنه پسوردی که کاربر میزنه برای اون نشون داده میشه حالا شما هر الگوریتمی که استفاده کرده باشید مهم نیست در این مواقع چون بسته ای که POST میشه نمایش داده میشه !
البته بنده Sniff تحت شبکه رو براتون توضیح دادم.
دقیقا مثل پسورد فیس بوک و یاهو و... که با عملیات اسنیف به راحـــتی نمایش داده میشه. Heart
  پاسخ
تشکر شده توسط :
#3
ببینید دوست عزیزم، مسأله اسنیف نیست، ما کاری میکنیم که پسورد واقعی رو نبینن، هش پسورد رو ببینن، مشکل اینجاست که آیا میتونن حمله انجام بدن یا نه؟

مثلاً اون پسورد هش شده اسنیف شده رو خودش تو یه بسته post جاسازی کنه و بفرسته

و یا حالا یه مسأله حاد تر

شما فکر کنید هش پسورد رو دید، حالا دکمه remmember پسورد رو هم زده باشه، و بیاد بیاد بشینه پای کامپیوتر کاربری که هش پسوردش رو داره و یه کوکی بسازه و اطلاعات اون هش و سایر ابزار رو بریزه توش login کنه...
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط :
#4
خب از همونجایی که گرفته خودش میفرسته دیگه .
در هر صورت میتونه شنود داشته باشه .
  پاسخ
تشکر شده توسط : hamid_80386
#5
نقل قول:خب از همونجایی که گرفته خودش میفرسته دیگه .
در هر صورت میتونه شنود داشته باشه .

- از کجا گرفته و از کجا میفرسته رضا؟ اگه چیزی میدونی نامردی نگی Wink

- شنود رو که بعله، آخرش انجام میدن


در مورد اون مسئله کوکی که گفتم میشه هش پسورد رو تو کوکی ذخیره کرد و هشِ هش رو ارسال کرد:
کد:
Cookie = md5(pass)
Post = md5(md5(pass))

اما باز مشکل اصلی پا بر جاست...

البته چون کوکی رو با php میسازیم این کار رو هم نمیشه کرد Wink
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط :
#6
نقل قول:فکر کنید ما پسورد رو در سمت کاربر با جاوااسکریپت رمز نگاری کنیم و بفرستیم، مثلا با md5 یا SHA1
داشتم به این موضوع فکر میکردم که آیا شخص میانی که داره پسورد کاربر رو استراق سمع میکنه و طبیعتاً رمز شده پسورد رو هم میبینه، آیا میتونه همون رمز شده پسورد رو ارسال کنه و login کنه
بله میتونه. به اصطلاح میگن اون هش یک Password equivalent است.

هدف اصلی از هش کردن سمت کلاینت پسورد اینه که کسی نتونه براحتی به اصل پسورد کاربران دست پیدا کنه. چون از اصل پسورد کاربران خیلی راحتتر و سوء استفاده های بیشتر و جدی تری میشه کرد.

هش کردن پسورد در سمت کلاینت از لاگین کردن یک کسی که ارتباط رو استراق سمع میکنه جلوگیری نمیکنه.
  پاسخ
تشکر شده توسط : hamid_80386 Reza
#7
نقل قول:هش کردن پسورد در سمت کلاینت از لاگین کردن یک کسی که ارتباط رو استراق سمع میکنه جلوگیری نمیکنه.

خب راهکارش چی میتونه باشه و اینکه چه جوری میتونن اون هش رو تو بسته post جاگذاری کنن، اینم توضیح بدید ممنون میشم
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط :
#8
(۱۳۹۱ شهریور ۲۵, ۱۲:۴۵ ب.ظ)hamid_80386 نوشته: خب راهکارش چی میتونه باشه
راهکار چی؟
راهکاری برای جلوگیری از استراق سمع و لاگین بجای کاربر؟
راهکارش استفاده از SSL است.
در اتصالات غیر SSL نمیشه امنیت بیش از این داشت.

نقل قول: و اینکه چه جوری میتونن اون هش رو تو بسته post جاگذاری کنن، اینم توضیح بدید ممنون میشم
خودت میگی میشه بعد میگی چطوری؟ Big Grin
میفرستن دیگه. با سوکت یا CURL و اینها دیگه.
  پاسخ
تشکر شده توسط : hamid_80386
#9
نقل قول:راهکارش استفاده از SSL است.
بله، SSL رو در جریان بودم، ولی هیچ راهکار با سرعت بیشتری از SSL نداریم؟

نقل قول:خودت میگی میشه بعد میگی چطوری؟
میفرستن دیگه. با سوکت یا CURL و اینها دیگه

همون میخواستم ببینم با چی میفرستن Big Grin
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط :
#10
نقل قول:بله، SSL رو در جریان بودم، ولی هیچ راهکار با سرعت بیشتری از SSL نداریم؟
خیر، راهکار بقدر کافی کامل و امنی نیست جز نظایر همین.
بهرحال امنیت هزینه داره. رمزنگاری میخواد.

نقل قول:همون میخواستم ببینم با چی میفرستن Big Grin
البته این مورد که خیلی ساده هست. فکر میکنم در اکثر موارد میشه از یک فرم HTML عادی هم استفاده کرد.
مثلا:
کد:
<form method="post" action="http://example.com/login.php">
<input type="text" name="username">
<input type="password" name="password" value="password hash">
</form>
البته اگر اشتباهی در جزییاتش نکرده باشم.
کلیتش به همین سادگیه.
یک صفحهء HTML با فرم با فیلدهای مورد نظر با مقادیر مورد نظر درست میکنی روی لوکال و آدرس action اون هم آدرس صفحهء پردازش لاگین در سایت مورد نظر.
حالا اگر اون سایت از چیزهای دیگری مثل anti-xsrf token و اینها استفاده کرده بود، اونا رو هم میشه گرفت و اضافه کرد.
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان