#Solarwinds #Platform #Deserializtion #Bugs
همانطور که میدانید یکی از اصلی ترین نرم افزار های SolarWinds محصول مدیریت و نظارت بر شبکه است که طی سالهای اخیر چند آسیب پذیری روز صفر داشته است.
پروتکلی در SolarWinds استفاده میشود با نام RabbitMQ که بر مبنای TCP کار کرده و در تصویر بالا پکت ضبط شده آن را مشاهده میکنید.
این پروتکل بر روی پورت 5671 کار کرده و میتواند پیام های AMQP ارسال نماید، این پیام چند نوع و روش ارسال داده دارد.
که در نوع Content header (2) میتواند نوع داده Serialize ارسال کند و در Properties تصویر دوم مشخص میشود که دریافت کننده مقدار کجاست.
محقق با بررسی دقیق و مهندسی معکوس کد منبع، متوجه شده که در جریان ردیابی کد، هیچ کنترلی بر روی مقادیر Serialize نبوده و مقدار Properties در پیام، ظرفیت Deserialize شدن دارند.
در تصویر بالا تابع HandleBasicDeliver پیام در پروتکل را دریافت میکند و در موقعیت 3 اقدام به برگشت دادن مقدار به تابع میکند.
در تصویر دوم، Consume رو داریم که یک Method از IDisposable است و مقدار پیام دریافتی در Body را Deserialize میکند و عدم کنترل موجب اجرای کد شده است.
همانطور که میدانید یکی از اصلی ترین نرم افزار های SolarWinds محصول مدیریت و نظارت بر شبکه است که طی سالهای اخیر چند آسیب پذیری روز صفر داشته است.
پروتکلی در SolarWinds استفاده میشود با نام RabbitMQ که بر مبنای TCP کار کرده و در تصویر بالا پکت ضبط شده آن را مشاهده میکنید.
این پروتکل بر روی پورت 5671 کار کرده و میتواند پیام های AMQP ارسال نماید، این پیام چند نوع و روش ارسال داده دارد.
که در نوع Content header (2) میتواند نوع داده Serialize ارسال کند و در Properties تصویر دوم مشخص میشود که دریافت کننده مقدار کجاست.
محقق با بررسی دقیق و مهندسی معکوس کد منبع، متوجه شده که در جریان ردیابی کد، هیچ کنترلی بر روی مقادیر Serialize نبوده و مقدار Properties در پیام، ظرفیت Deserialize شدن دارند.
در تصویر بالا تابع HandleBasicDeliver پیام در پروتکل را دریافت میکند و در موقعیت 3 اقدام به برگشت دادن مقدار به تابع میکند.
در تصویر دوم، Consume رو داریم که یک Method از IDisposable است و مقدار پیام دریافتی در Body را Deserialize میکند و عدم کنترل موجب اجرای کد شده است.
tgoop.com/pythonwithmedev/469
Create:
Last Update:
Last Update:
#Solarwinds #Platform #Deserializtion #Bugs
همانطور که میدانید یکی از اصلی ترین نرم افزار های SolarWinds محصول مدیریت و نظارت بر شبکه است که طی سالهای اخیر چند آسیب پذیری روز صفر داشته است.
پروتکلی در SolarWinds استفاده میشود با نام RabbitMQ که بر مبنای TCP کار کرده و در تصویر بالا پکت ضبط شده آن را مشاهده میکنید.
این پروتکل بر روی پورت 5671 کار کرده و میتواند پیام های AMQP ارسال نماید، این پیام چند نوع و روش ارسال داده دارد.
که در نوع Content header (2) میتواند نوع داده Serialize ارسال کند و در Properties تصویر دوم مشخص میشود که دریافت کننده مقدار کجاست.
محقق با بررسی دقیق و مهندسی معکوس کد منبع، متوجه شده که در جریان ردیابی کد، هیچ کنترلی بر روی مقادیر Serialize نبوده و مقدار Properties در پیام، ظرفیت Deserialize شدن دارند.
در تصویر بالا تابع HandleBasicDeliver پیام در پروتکل را دریافت میکند و در موقعیت 3 اقدام به برگشت دادن مقدار به تابع میکند.
در تصویر دوم، Consume رو داریم که یک Method از IDisposable است و مقدار پیام دریافتی در Body را Deserialize میکند و عدم کنترل موجب اجرای کد شده است.
همانطور که میدانید یکی از اصلی ترین نرم افزار های SolarWinds محصول مدیریت و نظارت بر شبکه است که طی سالهای اخیر چند آسیب پذیری روز صفر داشته است.
پروتکلی در SolarWinds استفاده میشود با نام RabbitMQ که بر مبنای TCP کار کرده و در تصویر بالا پکت ضبط شده آن را مشاهده میکنید.
این پروتکل بر روی پورت 5671 کار کرده و میتواند پیام های AMQP ارسال نماید، این پیام چند نوع و روش ارسال داده دارد.
که در نوع Content header (2) میتواند نوع داده Serialize ارسال کند و در Properties تصویر دوم مشخص میشود که دریافت کننده مقدار کجاست.
محقق با بررسی دقیق و مهندسی معکوس کد منبع، متوجه شده که در جریان ردیابی کد، هیچ کنترلی بر روی مقادیر Serialize نبوده و مقدار Properties در پیام، ظرفیت Deserialize شدن دارند.
در تصویر بالا تابع HandleBasicDeliver پیام در پروتکل را دریافت میکند و در موقعیت 3 اقدام به برگشت دادن مقدار به تابع میکند.
در تصویر دوم، Consume رو داریم که یک Method از IDisposable است و مقدار پیام دریافتی در Body را Deserialize میکند و عدم کنترل موجب اجرای کد شده است.
BY 🧑💻Cyber.vision🧑💻





Share with your friend now:
tgoop.com/pythonwithmedev/469