فا

‫ شناسايي آسيب پذيري Poodle بر روي مرورگرها (بخش 2)

در اين حال حمله كننده (كه بين كلاينت و سرور قرار گرفته است)، بلوك C5 را )كه متناظر با padding است) دستكاري مي‌كند و آنرا مساوي C2 قرار مي‌دهد:

در اين صورت خواهيم داشت:

C5 = C2 Encrypt(C1 P2) = Encrypt(C4 P5) C1 P2 = C4 P5

P2 = C1 C4 P5
سپس حمله كننده رشته‌ي جديد را به سرور ارسال مي‌كند.

حمله كننده مقدار C5 (كه رمز شده‌ي padding بوده) را دستكاري كرده و بنابراين مقدار padding را به رشته نامعلومي تغيير داده است. اما مي‌داند كه سمت سرور،تنها آخرين كاراكتر padding مهم است. در بيشتر موارد مقدار كاراكتر آخر مخالف x0F0 است و سرور تشخيص مي‌دهد كه پيام ارسال شده خراب شده و ارتباط را قطع مي‌كند. اما از هر ۲۵۶ مورد، يك مورد امكان دارد كه كاراكتر آخر دقيقا برابر x0F0 باشد. در اين صورت پيام، صحيح تلقي شده و پاسخ به كلاينت برگردانده مي‌شود. حمله كننده به راحتي (مثلاً با بررسي اندازه پاسخ) مي‌تواند تشخيص دهد كه آيا اين دستكاري، پيام را خراب كرده است يا خير.

اگر پيام خراب نشده باشد، حمله كننده يك كاراكتر از كوكي را فهميده است، چون مي‌داند كه:

P2[16] = C1[16] C4[16] P5[16]

و مقدار P5[16] = 0x07 بوده و مقدار C1 و C4 نيز جزء درخواست رمز شده است.

به اين ترتيب حمله كننده حدوداً با ۲۵۶ تلاش مي‌تواند يك كاراكتر از كوكي كاربر را استخراج كند. حال كاربر با اضافه كردن يك كاراكتر بهurlو حذف يك كاراكتر از body مي‌تواند مقدار كوكي را يك كاراكتر به جلو شيفت كند و با تكرار روند بالا (حدودا ۲۵۶ درخواست)، كاراكترهاي كوكي را يك به يك استخراج نمايد.

بنابراين حمله كننده براي يافتن يك كوكي به طول ۴۰ كاراكتر، بايستي حدوداً ۱۰،۰۰۰ درخواست از سمت كاربر ارسال كند. اين تعداد بسيار كم بوده و با سرعت ۲۰ درخواست در ثانيه، در كمتر از ۱۰ دقيقه قابل انجام مي‌باشد.

شناسايي آسيب‌پذيري در مرورگر و سرور

· افراد عادي براي تست آسيب‌پذيري مرورگر خود مي‌توانند به وب سايت زير مراجعه كنند:

https://www.poodletest.com

· به منظور تست آسيب‌پذيري سرورها مي‌توان به وب سايت زير مراجعه نمود:

https://www.ssltest.com


نظرات

بدون نظر
شما برای نظر دادن باید وارد شوید

نوشته

 
تاریخ ایجاد: 7 دی 1393

دسته‌ها

امتیاز

امتیاز شما
تعداد امتیازها: 0