در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

Session Hijacking چگونه انجام می شود ؟ قسمت 4 : Session چیست ؟

سلام به دوستان عزیز ITPro ای و علاقه مندان به مباحث امنیت شبکه. در قسمت گذشته به عنوان شروعی بر بحث session hijacking، علاوه بر معرفی و مقدمه بیشتر در مورد نقش پروتکل TCP در یک فرآیند session hijacking صحبت کردم. گفتم که سه پروتکل نقش اساسی در اجرای فرایند session hijacking دارند: TCP، UDP و HTTP. در بخش دوم این سری از مباحث امروز نقش پروتکل UDP و HTTP را در این فرآیند بررسی خواهم کرد. پس بی مقدمه اضافی، با ادامه بحث همراه باشید:

UDP نقش خود را چگونه بازی میکند؟

همانطور که از قسمت قبل بخاطر دارید، TCP، از پارامتر Sequence Number برای پیشبرد اهداف خود در three-way handshake استفاده میکرد اما در UDP چنین نیست. از پروتکل UDP عمدتا در جهت Broadcast کردن پیام ها در شبکه و یا ارسال کوئری های DNS استفاده میشود. از آنجایی که این پروتکل Connectionless است و مانند TCP مکانیسم پیچیده ای ندارد، برای فرآیند session hijacking پروتکل لذیذتری! است. همانطور که در مورد TCP هم تعریف کردیم، در UDP هم یک session را بستر ایجاد شده پس از ارسال داده بین سرور و کلاینت معرفی میکنیم. پروتکل UDP را میتوان حالت دوم از اجرای یک session hijacking در نظر گرفت.

HTTP پروتکل شلخته‌ایست!

اگر بخواهم این پروتکل را خیلی اتو کشیده! و رسمی معرفی کنم باید بگویم که HTTP، یک پروتکل بنیادی و اساسی در دنیای گسترده وب یا همان www خودمان است. HTTP مشخص میکند که پیام ها چگونه قالب بندی و ارسال شوند و وب سرورها و مرورگرها در مقابل پیام ها و فرمان های مختلف چه واکنشی باید از خود نشان دهند.


به عنوان مثال، وقتی که شما یک URL را در مرورگر وارد میکنید و کلید اینتر را میزنید، در واقع یک دستور HTTP به وب سرور ارسال میشود که وب سرور پس از دریافت آن را به صفحه وب درخواست شده، منتقل میکند.این نکته مهم است که بدانید HTTP یک پروتکل بلا تکلیف! است. هر تراکنشی در این پروتکل بدون در نظر گرفته شدن اطلاعات تراکنش های قبلی، بی درنگ اجرا میشود. نتیجه این میشود که HTTP هیچ برنامه ای برای تمایز دادن یک کاربر از کاربر بعدی در دل خود ندارد. برای سامان دادن به این وضع و همچنین تشخیص سابقه یک کاربر، وب اپلیکیشن ناچار است جور HTTP را بکشد و به اطلاعات هر کاربر یک HTTP Session تخصیص میدهد. این session سابقه یک تراکنش را منحصربفرد میکند.

HTTP آخرین مرحله‌ ایست که session hijacking میتواند در آن رخ دهد.

قربانی‌ها کجای داستان قرار میگیرند؟

تا اینجا موفق شدیم مراحل اجرای session hijacking را یاد بگیریم. در حرکت بعدی میخواهم درباره قربانی صحبت کنم. هرچه نباشد، یک سر قضیه را تشکیل میدهد! بله.. درست است؛ همانطور که اکثرا درست حدس نزدید، قربانی داستان ما یک Host و در واقع کلاینت نیست. در این ماجرا قربانی همان session هایی است که قرار است hijack (سرقت) شوند.

در مورد TCP و UDP همانطور که در بالا هم گفته شد، session ها همان بازه زمانی و بستری هستند که در حین کانکت شدن کلاینت و ارسال داده ها به سرور ایجاد شده اند.


در ابتدای session، کاربر//کلاینت احراز هویت میشود و سپس یک session همان بازه رد و بدل شدن ack number ها از کلاینت به سرور و بلعکس تلقی میشود. برای آنکه بتوانیم این مفهوم را با یک HTTP Session تمایز دهیم، TCP//UDP session ها را با عنوان TCP//IP Stream از این به بعد یاد خواهیم کرد. TCP//UDP session ها با تحت کنترل گرفتن پکت های ارسال شده بین کلاینت و سرور hijack (سرقت) میشوند.


اما در مورد HTTP باید گفت که session ها همان بازه زمانی و بستری هستند که کاربر به وب اپلیکیشن دسترسی دارد که معمولا از Logon تا Logoff کاربر ادامه دارد. Session های HTTP به session های TCPوابستگی دارند و بسته به این که درخواست کاربر موجود در دل TCP//IP Stream ها مستقیما، بواسطه پروکسی و یا حتی از IP Address های مختلف به آن ها رسیده باشد، فرق دارند. فکر میکنم جمله کمی سنگین بود! بنابراین لطفا یکبار دیگر با دقت جمله پیشین را بخوانید.


یک HTTP session تمام سوابق فعالیت کاربر که با وب اپلیکیشن داشته است را بر خلاف TCP/IP Session ها را درخود نگه میدارد. همانطور که قبلا هم به آن اشاره شد، HTTP یک پروتکل بلاتکلیف است و به چنین پرونده ای از سوابق کاربر در قالب یک http session نیاز دارد. در نتیجه sessionهای وب اپلیکیشن سوابق کاربران را بطور مجزا در دل خود نگهداری میکنند. پیاده سازی این session ها کاملا بستگی به وب اپلیکیشن مورد استفاده دارد. اگر بخواهم مطلب را در یک خط خلاصه کنم باید بگویم که " وقتی که یک کاربر به اپلیکیشن لاگین میکند، session بر روی سرورایجاد میشود تا بتواند وضعیت فعالیت این کاربر را برای درخواست های بعدیش نزد خود نگه دارد.


" Session تمام پارامترهای لازم و اطلاعات هویتی کاربری را که با آن ارتباط داشته است، ذخیره میکند. این اطلاعات تا زمانی که کاربر لاگ آف نشود و یا برای یک بازه زمانی تعریف شده، غیرفعال نگردد، موقتا در مموری سرور ذخیره میشوند.

پس مهم است که بدانیم session ها عموما در این مرحله چگونه مدیریت میشوند. برای شناخت راحتر یک session، هر session متناظر یک session ID میشود. در واقع در مورد درخواست های HTTP مربوط به یک session، این ID متناظر است که بین کلاینت وسرور رد و بدل خواهد شد. وب اپلیکیشن ها معمولا مدیریت session را در دو حالت client-side و یا server-side پیاده سازی میکنند.


در پیاده سازی client-side، اطلاعات مربوط به احراز هویت کاربر در همان سمت کلاینت و در قالب یک کوکی ذخیره میشود. کلاینت اطلاعاتی را که درون کوکی خود پیدا میکند (که شامل session ID هم هست)، با درخواست خود به سرور ارسال میکند تا سرور بداند که چه کسی اطلاعات را درخواست کرده است. در مقابل، پیاده سازی server-side، همین اطلاعات را درون سرور و در دیتابیس back-end خود ذخیره میکند. از session ID برای ایندکس کردن اطلاعات کاربر در دیتابیس استفاده میشود؛ بنابراین سرور میتواند براحتی به محض دریافت درخواست از سوی کاربر، اطلاعات هویتی آن را فراخوانی کند.

پایان بخش دوم
مانا باشید.

نویسنده: احسان امجدی
منبع: جزیره امنیت اطلاعات و ارتباطات وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
#آموزش_امنیت_اطلاعات #session_چیست #سرقت_نشست_چیست؟ #session_hijacking_چیست؟ #tcp/ip_stream_چیست؟ #آموزش_session_hijacking #آموزش_امنیت_شبکه #tcp_session_چیست؟
عنوان
1 Session چیست و چگونه کار می کند ؟ قسمت 1 رایگان
2 Session چیست و چگونه کار می کند ؟ قسمت 2 رایگان
3 Session Hijacking چگونه انجام می شود ؟ قسمت 3 : نقش پروتکل TCP رایگان
4 Session Hijacking چگونه انجام می شود ؟ قسمت 4 : Session چیست ؟ رایگان
5 Session Hijacking چگونه انجام می شود ؟ قسمت 5 : لایه 7 و 3 شبکه رایگان
6 Session Hijacking چگونه انجام می شود ؟ قسمت 6 : Desync Attacks رایگان
7 Session Hijacking چگونه انجام می شود ؟ قسمت 7 : WebApp Hijack رایگان
8 Session Hijacking چگونه انجام می شود ؟ قسمت 8 : ابزارهای Hijack رایگان
9 روش های جلوگیری از Session Hijacking قسمت 9 : بخش 1 رایگان
10 روش های جلوگیری از Session Hijacking قسمت 10 : بخش 2 رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....