PDA

View Full Version : سوال: امنیت پسورد



beh3000
دوشنبه 18 فروردین 1393, 22:03 عصر
سلام دوستان

چندتا سوال داشتم :

1 . بهترین الگوریتم برای هش کردن پسورد و ذخیره در دیتابیس چی هست ؟ به غیر از bcrypt , scrypt و ... چون اینها همه جا پشتیبانی نمیشه فقط فک کنم 5.5.5 به بالا پشتیبانی میشه

2 . اینکه میگن برای جلوگیری از سرقت سشن اونها رو رمز کنید منظورشون چیه ؟ وقتی کاربر لاگین میکنه چندتا اطلاعات مثل user_id , username , name , lastname رو داخل سشن قرار میدیم اونها رو که نمیشه هش کرد چون از همونها استفاده میکنیم برای عملیات دیتابیس یا باید رمز دوطرفه انجام داد که قابل decrypt باشه .. اصلا لازمه این کار ؟

3 . راههای امنیت سشن ها و کوکی ها رو خلاصه وار میتونین توضیح بدین ؟


ممنون از دوستان

sherlock0111
دوشنبه 18 فروردین 1393, 23:06 عصر
http://barnamenevis.org/showthread.php?447295-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-hash

cpuram
دوشنبه 18 فروردین 1393, 23:35 عصر
سلام دوستان

چندتا سوال داشتم :

1 . بهترین الگوریتم برای هش کردن پسورد و ذخیره در دیتابیس چی هست ؟ به غیر از bcrypt , scrypt و ... چون اینها همه جا پشتیبانی نمیشه فقط فک کنم 5.5.5 به بالا پشتیبانی میشه

2 . اینکه میگن برای جلوگیری از سرقت سشن اونها رو رمز کنید منظورشون چیه ؟ وقتی کاربر لاگین میکنه چندتا اطلاعات مثل user_id , username , name , lastname رو داخل سشن قرار میدیم اونها رو که نمیشه هش کرد چون از همونها استفاده میکنیم برای عملیات دیتابیس یا باید رمز دوطرفه انجام داد که قابل decrypt باشه .. اصلا لازمه این کار ؟

3 . راههای امنیت سشن ها و کوکی ها رو خلاصه وار میتونین توضیح بدین ؟


ممنون از دوستان

بهترین الگوریتم ها هم بالاخره دیکد میشن بهتره از یک کلید هش که خودتون تعریف میکنید استفاده کنید.

us1234
سه شنبه 19 فروردین 1393, 00:19 صبح
بهترین الگوریتم ها هم بالاخره دیکد میشن بهتره از یک کلید هش که خودتون تعریف میکنید استفاده کنید.

عملا هنوز همون الگوریتم های قدیمی هم دیک نشده مثل md5 چه برسه به الگوریتم های 128 بیتی مثل sha1 الگوریتم کدگذاری یک طرفه را به این سادگی نمیشه دیکد کرد.

بهترین کار در استفاده از یک الگوریتم های هش یکطرفه این است که شما آی دی یا هر فیلد دیگه ای بسته به نیاز با مثلا پسورد یوزر ادغام کنید و با هم هش کنید اینطور به فرض اگه کسی با انجکشن هم بتونه به دیتابیس نفوذ کنه و پسوردی مشابه بسازه و وارد دیتابیس کنه اون پسورد کار نمیکنه و حتی اگه یوزر جدید بسازه و پسورد اون یوزر جدید را وارد کنه بازم کار نمیکنه . البته این آی دی که من گفتم قدیمی شده الان دیگه روی روش های دیگه کار میکنم که گفتنش به دلیل استفاده کردن در پروژه ها صلاح نیست .

beh3000
سه شنبه 19 فروردین 1393, 08:15 صبح
دوستان درمورد امنیت سشن بیشتر اطلاعات میخوام

abolfazl-z
سه شنبه 19 فروردین 1393, 09:20 صبح
سلام دوستان

چندتا سوال داشتم :

1 . بهترین الگوریتم برای هش کردن پسورد و ذخیره در دیتابیس چی هست ؟ به غیر از bcrypt , scrypt و ... چون اینها همه جا پشتیبانی نمیشه فقط فک کنم 5.5.5 به بالا پشتیبانی میشه

2 . اینکه میگن برای جلوگیری از سرقت سشن اونها رو رمز کنید منظورشون چیه ؟ وقتی کاربر لاگین میکنه چندتا اطلاعات مثل user_id , username , name , lastname رو داخل سشن قرار میدیم اونها رو که نمیشه هش کرد چون از همونها استفاده میکنیم برای عملیات دیتابیس یا باید رمز دوطرفه انجام داد که قابل decrypt باشه .. اصلا لازمه این کار ؟

3 . راههای امنیت سشن ها و کوکی ها رو خلاصه وار میتونین توضیح بدین ؟


ممنون از دوستان

سلام

هش کردن پسورد برای چیست ؟
یکی برای این هست که اگر زمانی سیستم شما باگ SQL injection پیدا شد و از طریق ان نفوذ کردند نتوانند به اطلاعاتی مهم چون پسورد کاربران دسترسی پیدا کنند.
و دیگری اگر هش کنید شما انتخاب هر کاراکتری را برای کاربر آزاد گذاشتید.(بدون هش میشه ولی دردسر های خودشو داره)
و ..

نگاه کنید وقتی میگن سشن هک بشه یعنی چی ؟

زمانی که ما یک سشن استارت می کنیم یک session id بر فرض مثال asDSADsWaDQASFAWfasfqAFWFWFsWAs سی و دو کاراکتری (قابل تنظیم) برای کاربر از طریق کوکی ارسال می شود و همین session id در پوشه پیش فرضی بر روی هاست شما ساخته می شود که اطلاعات کوکی که شما در آرایه SESSION_$ قرار می دهید در آنجا ذخیره می شود.

حالا اگر سیستم شما باگ RFI داشته باشد ، هکر می تواند به اطلاعات پوشه سشن دسترسی داشته باشد.