تبليغاتX
WILLKOMMEN BEI LOOK JAGUAR WEBLOG
 

   سلام به همگی

 

در این پست یه برنامه همراه با طرز کارکرد و توضیحات کامل و همچنین مکانیزمهای

 مربوط به  استفاده از اون  براتون گذاشتم امیدوارم خوشتون بیاد.

 

 (  لطفا"  قبل از دانلود هر نرم افزار توضیحات مختص یه اون  رو به طور کامل بخونید )

 

حمله از نوع تعقیب نشستهای وب (web session tracking  ) :

 

یکی از روشهای حمله به برنامه های کاربردی تحت وب " تعقیب و ربودن نشستهای وب " است

بطور معمول به مکانیزم های که بر اساس آن مرورگر با یک برنامه کاربردی وب " نشست "

برقرار می کند و مجموعه ای از فعل و انفعالات با یکدیگر انجام می دهند حمله می شود

پس امکان دارد یک نشست ربوده شود و از آن در راستای اهداف مخرب استفاده شود

در اکثر کاربردهای وب پس از آنکه کاربر USER ID  و PASSWORD   خود را وارد کرد

 و احراز هویت شد آن برنامه کاربردی یک مشخصه منحصر به فرد و غیر تکراری به نام

مشخصه نشست هویت یا SESSION ID   برای آن تولید میکند تا از آن به بعد مشخصه کاربر

 با آن مشخصه دنبال شود .

در حقیقت این مشخصه یکتا که توسط برنامه کاربردی در سمت سرویس دهنده وب به مرورگر

 اعطا میشود روشی است تا در عملیات بعدی کاربر هویت خود را با آن معین کند

 (عملیات ناقص خود را دنبال نماید یا عملیات جدیدی را در خواست کند).

 در هر بار که کاربر از طریق مرورگر خود تقاضای را برای ان برنامه کاربردی  وب ارسال می کند

SESSSION ID   نیز به عنوان معرف کاربر بهمراه آن ارسال خواهد شد .

 

مثال :

فرض می کنیم شما از یک سایت یه سری سرویس ها می خواهید دریافت کنید که باید

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

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

آن سایت استفاده کنید. و اینکه  شما در سایت  مربوطه اعلام می کنید که مایل هستید که از سرویسهای جدید

که بعد از آن نیز در سایت قرار می دهند استفاده کنید .

برنامه سمت مقابل هم هر بار که می خواهد این سرویس ها را برای شما ارسال کند باید شما را احراز

 هویت کند و اینکه  بداند که تا به حال چند سرویس در اختیار شما قرار گرفته و بعد هم اینکه

 از کجا بفهمد که آیا شما تا به حال از سرویس ها استفاده کرده اید یا نه و از کجا باید ادامه بدهد .

راه حل تمام اینها SESSION ID   است :

 

در تمام برنامه های کاربردی تحت وب پس از احراز هویت  کاربر یک SESSION ID   توسط

مرورگر ,    برنامه سمت مقابل تقاضاهای قبلی او را یاد آور شده و تقاضا های بعدی او را بر اساس

 آن اجرا خواهد کرد.

   

پس تعریف SESSION ID شد:

SESSION ID  مشخصه ای  است جهت شناسایی یک کاربر مجاز , تعقیب عملیا ت مورد درخواست او

و فعل و انفعال (INTERACTION ) با او.

 

دقت کنید که چه از پروتکل HTTP و چه از پروتکل نوع امن آن یعنی HTTPS   استفاده شود یک نفوذگر قادر است

SESSION ID  را برباید و در عملیات کاربر اختلال ایجاد کند.

پس دز اینجا می فهمیم که HTTPS   هیچ تضمینی در قبال از دست رفتن SESSION ID  ندارد

 

 

نکته بسیار مهم:

موضوع SESSION ID   به برنامه های کاربردی تحت وب مربوط می شود و امنیت آن به نوع ارتباط بستگی ندارد

و استفاده از سوکتهای SSL  امنیت SESSION ID   را تامین نخواهد کرد زیرا این سوکتها مبادله امن و رمز نگاری

شده داده ها را بر روی شبکه به عهده دارند و پس از تحویل داده ها به برنامه های کاربردی وظیفه آنها تمام شده تلقی می شود.

لذا ممکن است که قبل از ارسال داده ها ی وب که SESSION ID   هم جزو آنهاست ( یعنی قبل از تحویل به SSL )

نفوذگر بتواند در لایه کاربرد application layer))  آنها را ربوده و دستکاری کند.

پسSESSION ID   فقط امنیت اطلاعات ارسالی  روی کانال را بیمه کرده و از دست رفتن SESSION ID   (پس از

تحویل امن آن به مرورگر یا قبل از دریافت آن از مرورگر ) به HTTPS   ربطی ندارد.

 

به طور معمول در برنامه های تحت وب مشخصه نشست با نامهای مختلفی تعریف می شود.

مانند  :    SESSION ID  و SID   

 

برخی از برنامه های کاربردی مشخصه نشست را با نامهای دلخواه خود تعریف می کنند  مثل: JOE

 

 

پیاده سازی و استفاده از SESSION ID   در برنامه های تحت وب :

 

یک برنامه کاربردی  تحت وب چگونه  مکانیزم ( مشخصه نشست ) را پیاده سازی می کند و از آن

استفاده می کند ؟

سه روش مهم برای پیاده سازی این مکانیزم :

 

·        ارسال SESSIO ID  به عنوان بخشی از URL

·         تعریف عناصر مخفی درون صفحه وب

·        استفاده از مفهوم کوکی (COOKI)

 

روش اول:

 

در مکانیزم ارسال   SESSION ID  به عنوان بخشی از URL   مشخصه نشست به رشته  URL

 

ضمیمه شده و برای مرورگر ارسال می شود . در هر تقاضا که در آینده از سمت مرورگر به سرویس

 دهنده  ارسال میشود مرورگر باید آن را مجددا" با همان نام و مقدار به URL   ضمیمه کرده و ارسال کند

وقتی برنامه کاربردی از طریق سرویس دهنده وب این URL   را دریافت کرد SESSION ID  را از درون

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

اگر SESSIIN ID  چه در مقدار و چه در نام متغیر با مقداری که قبلا" اعلام شده تفاوت داشته باشد

 برنامه کاربردی وب چنین کاربری را پیدا نمیکند و از انجام تقاضای او خودداری کرده و پیغام خطای

مناسب را بر می گرداند.

 

روش دوم :

 روش دوم برای پیاده سازی SESSION ID  آنست که وقتی برای یک کاربر صفحه HTML   تولید

می شود درون آن یک عنصر از نوع INPUT> > ولی مخفی جاسازی شده و سپس ارسال شود.

در این مکانیزم برنامه کاربردی تحت وب یک مشخصه منحصر به فرد برای کاربر تولید کرده

و آنرا به صورت مخفی  جاسازی میکند.

مثال :

 

در حقیقت کد HTML فوق یک مولفه دریافت داده با مقدار پیش فرض 22345 تعریف کرده که توسط کاربر

دیده نمیشود ولیکن هر گاه کاربر کلیدی مثل SUBMIT   و یا ( هر کلید با عملکرد مشابه  ) را بزند مقدار

فیلد SESSION  به صورت مخفیانه بهمراه بقیه فیلدها برای برنامه کاربردی تحت وب ارسال می شود

برنامه سمت  مقابل خودش می داند که کدام گزینه مشخصه نشست کاربر است و از آن برای شناسایی کاربر

 استفاده می کند. اگر یک نفر از طریق مرورگر SOURCE (HTML   ) یک صفحه را نگاه کند می تواند در

درون متن این فیلدها را با مشخصه HIDDEN"" پیدا کند.

 

 

روش سوم:

 

روش سوم برای شناسایی کاربران وب و تعقثب سلسله تقاظاهای آنها استفاده از " کوکی-COOKIE "

است . امروز استفاده از کوکی رایج ترین روش پیاده سازی مکانیزم SESSION ID  محسوب میشود

کوکی در بیان یکی از فیلدهای   HTTPاست که مرورگر محتوای ان را ( که از طرف سرویس دهنده ارسال میشود)

درون یک فایل کوچک ذخیره میکند.

درون کوکی اطلاعاتی ذخیره میشود که سرویس دهنده مایل است مرورگر آنها را بداند و در آینده آنها را به خودش بر گرداند.

که شامل موارد زیر می باشد:

SESSION ID

REFERENCE DATA

USER PERFERENCE

 

دو نوع کوکی وجود دارد : کوکی موقت (PERSESSION) و کوکی دایم (PERSISTENT).

 

کوکی موقت:

کوکی نوع موقت درون حافظه مرورگر و در حین اجرا خلق میشود و به محض آنکه مرورگر بسته شود آنها نیز

 از بین میروند. این کوکی ها عمر کوتاه و مفیدی دارند و درون خود SESSION ID   را نگهداری میکنند.

 

کوکی دایم:

توسط مرورگر بصورت متنی درون یک فایل ذخیره میشوند و با یک ویرایشگر ساده مثل NOTE PAD

قابل رویت می باشند.و هر گاه مرورگر بسته شود این فایل حذف نخواهد شد و مرورگر در آینده نیز میتواند از آنها استفاده کند

در این کوکی ها معمولا" اطلاعات طولانی یک کاربر ذخیره میشود.مثلا" اگر یک نفر نخواهد کلمه عبور خود را در هر بار

مراجعه به یک سایت وارد کند این کلمه عبور درون کوکی ذخیره میشود.این داده ها درون کوکی ها  ذخیره شده و کار او

 را راحت میکند . همین جا یک شکاف و نقطه نا امن درون سیستم کاربر ایجاد میشود.

 

 

حمله بر علیه مکانیزمهای نشست کاربران وب:

بسیاری از برنامه های تحت وب که مجبور به استفاده از SESSION ID   هستند در مورد ایجاد یک نشست ضعف دارند.

یک نفوذگر ممکن است یک نشست با یک برنامه کاربردی ایجاد کرده  و یک SESSION ID   معتبر دریافت کند

سپس آن را عوض کرده و خودش زا در قالب یک کاربر دیگر جا بزند و از آن به بعد روند عملیات او را ادامه بدهد

برنامه های کاربردی تحت وب که SESSION ID  را به گونه ای ضعیف تولید می کنند به شدت نا امن خواهند بود.

زیرا اگر یک نفوذ گر به عمد SESSION ID   یک کاربر دیگر را حدس بزند و از آن به جای SESSION ID

خود استفاده کند برنامه کاربردی وب گمان می کند که نفوذگر همان کاربر مجاز است و از آن به بعد با کاربر محاوره میکند

 

یعنی  نفوذگر با تعویض SESSION ID   به یک کاربر مجاز تبدیل میشود و به جای او سرویس خواهد گرفت

( البته خود کاربر اصلی هم سرویس خواهد گرفت)

 

 

مکانیزمهای حمله به نشستهای وب :

 

 اولین چیز که نفوذگر به آن نیاز دارد تعیین  SESSION ID   یک کاربر مجاز است که در حال حاضر او نیز یک

نسشت برقرار کرده است.

برای اینکار نفوذگر ابتدا خودش یک نشست مجاز با آن برنامه برقرار مینماید و مقدار     SESSION ID اختصاص داده

شده به خودش را مشاهده میکند. سپس بررسی میکند طول  SESSION ID   چند کارکتر است و نوع کارکتر چیست   

(عددی , الفبای , یا هر ترکیب دیگر ) و در نهایت آرایش و ساختار آن را تعیین میکند.

 

در دومین مرحله نفوذگر چند خط برنامه ساده مینویسد تا چندین بار با کلمه عبور خودش بعنوان یک کاربر مجاز به آن برنامه

کاربردی وارد شود ( login  ) کند  و یک  SESSION ID  دریافت نماید. و بعد این مقادیر را در جایی ذخیره میکند.

 

در سومین مرحله مقادیر SESSION ID   جمع آوری شده را مورد تحلیل های آماری قرار میدهد و سعی میکند تا فرمول

تولید آن را بیابد شاید بتواند  SESSION ID   یک کاربر دیگر را حدس بزند که اگر موفق شود کار برای او تمام است.

بد لیل اینکه:

در مرحله بعد او با حساب شخصی و مجاز خود به آن برنامه کاربردی وارد میشود وپس ار دریافت یک SESSION ID 

معتبر آنرا با مقدار متعلق به یک کاربر دیگر عوض کرده وبه جای او ( و در کنار وی ) سرویس  میگیرد.

 

 

مراحل بدست آوردن SESSION ID های مختلف بسیار ساده است:

اگر SESSION ID به همراه یک URL   باشد او URL  های  مختلف را درون یک فایل ذخیره میکند تا بعدا" فیلد

مربوط به مشخصه نشست را تشخیص دهد و با چند خط برنامه نویسی آنها را از   URL جدا کرده و در فایل دیگری بریزد

 

اگر  SESSION ID درون صفحه وب ارسالی پنهان و جاسازی شده باشد کل صفحات وب را ذخیره کرده و سپس

 با چند خط  برنامه  نویسی در درون صفحات برچسب های 

""

  را که دارای گزینهTYPE="HIDDEN"

 هستند را جستجو و استخراج میکند.

 

اگر از کوکی ساده استفاده شده باشد کار بسیار ساده است چرا که نفوذگر به سادگی قادر خواهد بود فایلهای کوتاه و متنی

کوکی  را مشاهده و ویرایش کند.

در مرورگر INTERNET EXPELORER   فایلهای کوکی دایم که از سرویس دهنده مختلف ارسال میشوند به طور

 مجزا و با اسامی مختلف و به صورت فقط خواندنی روی شاخه ای به نام کوکی ذخیره میشوند برای استفاده از کوکی های دایم

نفوذگر با حساب کاربری خود به سرویس دهنده وارد میشود و یک  SESSION ID برای خود به دست می آورد در این

 صورت  یک فایل کوکی برای او ایجاد میشود و سپس آن را با یک ویرایشگر مثل NOTE PAD   باز کرده و مقدار آن

 را به صورت دستی  با  SESSION IDیک کاربر دیگر عوض کرده و آن را ذخیره میکند. پس از بستن مرورگر و اجرای

مجدد  کوکی تقلبی ملاک کار قرار میگیرد که در آن SESSION ID متعلق به کاربر دیگر است دقت شود که قبل از تغییر کوکی

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

 کردن مرورگر مجددا" باز میشود

 

روش تغییر کوکی دایم  ساده و پیش پا افتاده است ولی بزرگترین معضل نفوذگر تغییر کوکی های موقت است که در حافظه RAM

 ذخیره میشوند و نمیتوان به آن دسترسی داشت .

 

حمله به کوکی های موقت ( PERSESSION COOKIES )

 

خوب گفتیم که کوکی های موقت درون حافظه مرورگر ذخیره میشوند و بنابراین نمیتوان به آن دسترسی مستقیم داشت و لذا تغییر در

 SESSION ID ممکن نخواهد بود . خوب در اینجا حمله به کوکیهای موقت را مرور میکنیم .

در ضمن کوکی های موقت نیز که به صورت رمز نگاری شده و از طریق  سوکتهای SSL   نیز منتقل میشوند را میتوان تغییر داد .

 

برای این کار از یک نرم افزار به نام ACHILLES 0-27  که یکی از قدرتمند ترین ابزارهای حمله به کوکی های موقت

( یا هر فیلد پنهان HTTP )  میباشد  استفاده میشود این نرم افزار توسط  گروه امنیت DIGIZEN   معرفی شده.

 

ACHILLES 0-27   در نقش یک پراکسی بین مرورگر ( متعلق به نفوذگر ) و سرویس دهنده قرار میگیرد و داده های مبادله شده

_منطبق با پروتکل HTTP ) را دریافت و در اختیار نفوذگر قرار میدهد. این داده ها  در محیطی قابل ویرایش و تغییر به نفوذگر نشان

 داده میشود و چون SESSION ID  درون فیلد های ارسالی و دریافتی قابل مشاهده است لذا نفوذگر فارغ از اینکه از چه روشی برای

پیاده سازی   ACHILLES 0-27   استفاده شده است میتواند آن را ببیند و قبل از ارسال به سرویس دهنده مقدار آن را تغییر دهد و سپس

دستور ارسال بدهد حتی اگر از کوکی های موقت هم استفاده شده باشد مقدار SESSION ID   روی صفحه خروجی  ACHILLES 0-27 

 نقش خواهد بست ACHILLES 0-27  قادر است با پروتکل های HTTP ,  HTTPS  کار کند و عملا" نقش کنسول حمله به نشستهای

 وب را ایفا میکند با استفاده از ابزار ACHILLES به تمام انواع SESSION ID   میتوان دسترسی داشت و آن را تغییر داد

 

از آنجا که ACHILLES در قالب یک سرویس دهنده پراکسی کوچک پیاده سازی شده است لذا نفوذگر میتواند مرورگر و پراکسی

ACHILLES را همزمان بر روی ماشین خود اجرا کند برای اینکار باید تنظیمات مربوط به پراکسی سرور در مرورگر به درستی

تنظیم شده باشد تا مرورگر مجبور شود به جای ارتباط مستقیم با سرویس دهنده وب ترافیک داده های HTTP , HTTPS  را به

سوی ACHILLES بفرستد .

در پنجره اصلی این پراکسی تمام اطلاعات ارسالی به روش HTTP , HTTPS به صورت واضح و قابل ویرایش پیش روی نفوذگر

 قرار میگیرند. هر گاه مررگر یا سرویس دهنده  اطلاعاتی را مبادله میکند ACHILLES در بین راه آنها را متوقف میکند تا نفوذگر

تغییرات لازم را در انها بدهد . و بعد از اعمال تغییرات با فشردن کلید SEND ( در پایین پنجره سمت چپ ) نفوذگر اجازه عبور آنها را

صادر مینماید.

 

 ACHILLES از HTTPS نیز حمایت میکند . HTTPS همان پروتکل HTTP  است که در لایه زیرین از سوکتهای امن و

 رمز نگاری شده  SSL  استفاده میکند .

ACHILLES به طور درونی دارای یک گواهینامه دیجیتالی است تا بتواند با مرورگر ارتباط SSL برقرار کند

و سرویس دهنده وب نمیتواند بفهمد که یک پراکسی بین او و مرورگر قرار گرفته است . فقط مرورگر نفوذگر متوجه میشود

و با نمایش یک پیغام اعلام میکند گواهی نامه دیجیتالی ACHILLES مورد تایید نیست با این حال چون مرورگر تحت اختیار و

متعلق به نفوذگر است از این پیغام چشم پوشی مینماید.

 

 

 

تنظیمات ACHILLES در مرورگر :

 

ابتدا باید درون C: \  یک شاخه بسازید  مثل C:\ANY-DIRECTRY  و بعد فایلهای ZIP  شده متعلق به ACHILLES

رو درون آن EXTRACT  (  باز )  کنید و بعد فایل ACHILLES.EXE  رو اجرا کنید بعد از اجرای فایل  گزینه های

INTERCEPT MODE ON, INTERCEPT CLIENT DATA , INTERCEPT SERVER DATA (TEXT )

تیک بزنید .

 

بعد مرور گر رو باز میکنیم و مراحل زیر رو به ترتیب اجرا میکنیم:

TOOLS/ INTERNET OPTION /CONNECTIONS /

و بعد از گذراندن مراحل زیر اگر از سیستم DIAL – UP   استفاده میکنیم  به قسمت SITTING   اون میریم و

بعد پروکسی سرور رو تیک میزنیم تا فعال بشه بعد از اون در قسمت ADDRESS این شماره IP   را وارد میکنیم

127.0.0.1 ) ) توجه داشته باشید که فقط همین شماره رو وارد کنید . و در قسمت PORT  هم شماره  5000رو وارد کنید

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

 

( امیدوارم که در راه درست ازش استفاده بکنید )

 

اگر هم مشکلی داشتید مطرح کنید تا در اولین فرصت راهنمایی بشید.

 

 

 

download

 

 

download pdf file

 

 

+ نوشته شده در  سه شنبه سیزدهم شهریور 1386ساعت 19:39  توسط m.mehraien | 
 
صفحه نخست
پست الکترونيک
آرشيو
درباره وبلاگ
تقدیس بی نهایت حضرت قیومیت را سزاوار است لا غیر ؛ تسبیح بی قصا را جناب کبریا را شایسته است بی شرک . سپاس باد قدوسی را که اویی هر که او را خواند. حاصل از اوست و هر چه شاید که بود از بود او بود. و درود و افرین بر روان خواجه ای باد که پرتوی نور طهارت او بر خافقین بتافت و شعاع شرع او را لمعان بمشارق و مغارب برسید و بر اصحاب و انصار او.

----------------------------------------------------------------------------------------------------------


تمامی برنامه های درون این وبلاگ به صورت رجیستر شده می باشد. برای باز کردن فایل مورد نظر بعد از دانلود باید پسورد مورد نظر را وارد کرد . برای گرفتن پسورد پس از عضویت در این وبلاگ پسورد مذکور به ایمیل شما فرستاده می شود .

خلاصه آمار سايت
نوشته هاي پيشين
شهریور 1386
اردیبهشت 1386
فروردین 1386
اسفند 1385
بهمن 1385
دی 1385
آذر 1385
آبان 1385
مهر 1385
شهریور 1385
مرداد 1385
تیر 1385
آرشيو موضوعي
آنتی اسپای وار آنتی ویروس و فایروال
مدیریت دانلود
بهینه سازی ویندوز و رجیستری
مرورگرهای اینترنتی
نرم افزارهای کاربردی
ابزارهای موبایل
مدیریت ایمیل
game & movie
مبانی ارتباطات کامپیوتری
فایلهای pdf آموزشی
اخبار
اشعار معاصر
ترفندهای ویندوز ، رجیستری ، و یاهو مسنجر
مانی و مانویت
مولتی مدیا
اسکرین سیور
skin for windows
Wallpapers
web design
PROXY SERVER
صادق هدایت
داستانهای کوتاه
Compressor
سخنانی کوتاه از مردان بزرگ
free music midi
ابزار هک
پيوندها
سورس های رایگان برنامه نویسی
abadanparis
(it+internet)
shaparak82 (شاهپرک)
عمو پورنگ
parparvaaz
فقط چاوشی
ashegha.mihanblog
tsgha.blogfa
غزل زندگی
نظر سنجی
دیکشنری آنلاین

جستجو در دیکشنری:

عضویت در وبلاگ





Powered by WebGozar

 

 RSS

POWERED BY
BLOGFA.COM

طراح قالب