-
May 28th, 2015, 22:35
#51
عضو انجمن
پاسخ : پیدا کردن باگ!! چجوری؟
سلام و عرض ادب.
قصد دخالت نداشتم، فقط دیدم هر ۲ عزیز تقریبا یک مطلب رو، به دو بیان دارند میفرمایند، گفتم رفع ابهام کنم.
روشی که شاهین جان بهش اشاره کردند، session hijacking هست که با توجه به پارامترهایی که php هنگام ایجاد سشن ذخیره میکنه، عمدتا در حملات mitm قابل استفاده هستند. مثلا در شبکههای خانگی و کافینت و ... هکر میتونه خودش رو به جای کاربر دیگهای جا بزنه! هرچند در این روش امنیت وبسایت مستفیما تحت تاثیر قرار نمیگیره، اما بازهم از نظر امنیتی چیز جالبی نیست. لذا بهتر هست هر از چندگاهی session id بازسازی ( regenerate ) بشه و علاوه بر اینها، user agent رو ( هر چند این هم قابل دور زدن هست) هم وارد بازیِ تایید هویت کنید!
پس نتیجه میگیریم که مسعود عزیز درست میفرمایند، این نوع حملات خارج از محدوده شبکه victim قابل انجام نیست ولی در صورتی که هکر و هدف از یک آیپی استفاده کنند، امکانش وجود داره. نیازی هم به دسترسی به سشنهای ذخیره شده در سرور وجود نداره. کافیهست که phpsessid رو از header requestهای کاربر هدف استخراج و با افزونهای که شاهین معرفی کرد کوکی رو ویرایش کنیم.
قصد قضاوت و ... نداشتم، صرفا برای اینکه عرض کنم هر دو عزیز تقریبا صحیح میفرمایند وارد بحث شدم.
ضمن اینکه پیشنهاد میکنم از sha256 به جای md5 استفاده بفرمایید.
البته عرائض بنده با توجه به فرمایش مسعود مبنی بر امن بودن سشنها از سوی سرور بود. در غیر این صورت میشه session fixation رو هم به لیست اضافه کرد.
ارادتمند.
ویرایش توسط hamid.soltani92 : May 28th, 2015 در ساعت 22:42
-
تعداد تشکر ها ازhamid.soltani92 به دلیل پست مفید
-
May 28th, 2015 22:35
# ADS
-
May 28th, 2015, 22:55
#52
عضو انجمن
پاسخ : پیدا کردن باگ!! چجوری؟

نوشته اصلی توسط
hamid.soltani92
سلام و عرض ادب.
قصد دخالت نداشتم، فقط دیدم هر ۲ عزیز تقریبا یک مطلب رو، به دو بیان دارند میفرمایند، گفتم رفع ابهام کنم.
روشی که شاهین جان بهش اشاره کردند، session hijacking هست که با توجه به پارامترهایی که php هنگام ایجاد سشن ذخیره میکنه، عمدتا در حملات mitm قابل استفاده هستند. مثلا در شبکههای خانگی و کافینت و ... هکر میتونه خودش رو به جای کاربر دیگهای جا بزنه! هرچند در این روش امنیت وبسایت مستفیما تحت تاثیر قرار نمیگیره، اما بازهم از نظر امنیتی چیز جالبی نیست. لذا بهتر هست هر از چندگاهی session id بازسازی ( regenerate ) بشه و علاوه بر اینها، user agent رو ( هر چند این هم قابل دور زدن هست) هم وارد بازیِ تایید هویت کنید!
پس نتیجه میگیریم که مسعود عزیز درست میفرمایند، این نوع حملات خارج از محدوده شبکه victim قابل انجام نیست ولی در صورتی که هکر و هدف از یک آیپی استفاده کنند، امکانش وجود داره. نیازی هم به دسترسی به سشنهای ذخیره شده در سرور وجود نداره. کافیهست که phpsessid رو از header requestهای کاربر هدف استخراج و با افزونهای که شاهین معرفی کرد کوکی رو ویرایش کنیم.
قصد قضاوت و ... نداشتم، صرفا برای اینکه عرض کنم هر دو عزیز تقریبا صحیح میفرمایند وارد بحث شدم.
ضمن اینکه پیشنهاد میکنم از sha256 به جای md5 استفاده بفرمایید.
البته عرائض بنده با توجه به فرمایش مسعود مبنی بر امن بودن سشنها از سوی سرور بود. در غیر این صورت میشه session fixation رو هم به لیست اضافه کرد.
ارادتمند.
من هم به همین مورد اشاره کردم که آی دی سشن (phpsessid) در هیدر ارسال می شود و محتوای سشن ها قابل رویت و ویرایش از سمت کلاینت نیست!( در پست های قبلی من ببینید)
وقتی phpsessid در کوکی ذخیره میشه, اگه صرفا سشن را ملاک بدانیم؛ با جعل کوکی و به دست آوردن phpsessid می شود آن را به دست آورد و خود راجای کاربر دیگر جا زد!!
اما این دوست عزیزمون تاکید دارند که میتوان سشن را از سمت کلاینت همانند کوکی تغییر داد!! هر دو اینها یک معنی ندارد و کاملا متفاوت است !
در حقیقت اصولی ترین تفاوت کوکی و سشن در همین است !! که محتوای سشن از سمت کلاینت قابل خواندن و رویت نیست !
در خصوص md5 حق با شماست؛ این در مثال بود و اگر نه من از تابع خودم استفاده می کنم که یک روش ترکیبی و امن تر است.
ویرایش توسط yastheme : May 28th, 2015 در ساعت 23:02
█ سنترال هاستینگ - اولین سرویس دهنده DDoS Protected ایرانی!
█ شرکت ایمن میزبان راهبر کاسپین (شماره ثبت : 1799 شناسه ملی: 14006354907 )
-
تعداد تشکر ها ازyastheme به دلیل پست مفید