• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
PHPSESSID
#1
سلام
با توجه به اینکه PHPSESSID توی کوکی ذخیره میشه و اگه بشه با cookie hijack اطلاعات کوکی کاربر رو پیدا کرد خیلی راحت میشه توی سایت با اطلاعات کاربر دیگه لاگین کرد
راهی نیست که توی کوکی نباشه ؟!
  پاسخ
تشکر شده توسط : cyletech
#2
امن ترین جا کوکی هست
برای امن سازی سشن ها اینجا رو بخونین
http://phpsec.org/projects/guide/4.html
  پاسخ
تشکر شده توسط : Maxoya cyletech
#3
کجا رو بخونم ؟‌Big Grin
  پاسخ
تشکر شده توسط :
#4
http://phpsec.org/projects/guide/4.html
  پاسخ
تشکر شده توسط : Maxoya cyletech sajjilove
#5
تا اونجایی که من میدونم بهترین حالت این هست که از فرستادن PHPSESSID از طریق URL جلوگیری بشه. با صفر کردن session.use_trans_id میتونید به این مهم دست پیدا کنید. البته همونطور که وحید گفت امن ترین جا کوکی هستش و اگر دقت کنید برای حالات پیش فرض این دو گزینه یعنی use_trans_id و use_cookies به مقدارهای مناسب ست شدن...
The difference between stupidity and genius is that genius has its limits. - Albert Einstein

"SUCCESS IS NOT A DESTINATION , IT'S A JOURNEY"
غایب
  پاسخ
تشکر شده توسط : cyletech Goback
#6
الآن من با یه ابزار بررسی کردم و این رو واسه یه دامین بدست آوردم. بنظرتون خطرناکه؟ اگر هست ، چه راهی برای برطرف کردنش پیشنهاد میدید؟ در غیر اینصورت یکم توضیح راجع همین تکه کد میدید؟ Blush مرسی Heart

کد:
Set-Cookie:      PHPSESSID=ak***spckb***ndu***n***em#; path=/
البته ستاره و شارپ رو خودم گذاشتم به منظور سانسور کردن Cool
غایب
  پاسخ
تشکر شده توسط :
#7
اون سشن آیدی خودت هست اگر کسی اونر بدزده خطر ناک هست که توی ان مقاله در موردش توضیح داده
  پاسخ
تشکر شده توسط : cyletech
#8
من خونده بودم اون مقاله رو ولی متوجه اون راه حلش نشدم هنوز. میگه:
کد پی‌اچ‌پی:
<?php

session_start
();

if (isset(
$_SESSION['HTTP_USER_AGENT']))
{
    if (
$_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT']))
    {
        
/* Prompt for password */
        
exit;
    }
}
else
{
    
$_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']);
}

?>
همینو اگر من بیارم رو سیستم خودم اینطوری تفسیر میشه که ، اگر سشن یوزرنیم وجود داشت بررسی بشه که حتماً با md5 شده $_SERVER['HTTP_USER_AGENT'] برابر باشه در غیر اینصورت اجرا متوقف بشه و اگر لوگین نبود یعنی سشن یوزرنیم وجود نداشت اون رو برابر همون که خودش نشون داده بسازه.
سوالاتی که من دارم ایناست:
1. $_SERVER['HTTP_USER_AGENT'] اینجا چیکار می کنه؟
2. اون سشن که گفتی واسه خودمه ، واسه شخص خودمه یا منظورت اون دامینی هست که چک کردم یا سرورش؟!
3. اگر چنین کاری انجام نشه ، چه نوع خطری داره واسه سایت؟
4. هرچی که خودت میدونی در این رابطه نمیدونم Shy
غایب
  پاسخ
تشکر شده توسط :
#9
HTTP_USER_AGENT همونagent هست دیگه مثلا Firefox 7 beta ubuntu 11.04 ..

مثلا الان توی این سایت تو که لاگین می کنی یه سشن واست ذخیره میشه. و یه آیدی روی کوکی کامپیوتر تو ذخیره میشه. که توی درخواست بعدی اون آیدی ارسال میشه و متوجه میشه که تو هستی.
حالا اگه مثلا من به عنوان هکر به هر نحوی از روی کامپیوتر تو اون کوکی رو به دست آوردم و روی کوکی خودم گذاشتم و ارسال کردم به سرور . سرور من رو لاگین شده می دونه. در واقع من رو تو می دونه.
حالا برای پیشگیری از اون مثلا میایی و agent و یا ip رو ملاک قرار میدی و میگی این آیدی کوکی این agent و یا ip و یا تلفیق از دو تاش رو داره و اگر غیر از این باشه سرور می فهمه که من تو نیستم یکی دیگه هستم جلوم رو می گیره
  پاسخ
تشکر شده توسط : Goback sajjilove cyletech M.J
#10
این مورد واسه سایت خطری نداره واسه کاربری که داره ازش استفاده می کنه خطر داره
  پاسخ
تشکر شده توسط : Goback cyletech


پرش به انجمن:


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