XXE زبان برنامه نویسی، درگاهی برای ورود نفوذگران

XXE زبان برنامه نویسی، درگاهی برای ورود نفوذگران

XML یک زبان معروف برنامه نویسی وب است و یکی از دلایل این محبوبیت مستقل بودن آن از نرم افزار و سخت افزاری است که بر روی آن اجرا می شود.آسیب پذیری XXE زمانی ایجاد می شود که برنامه، ورودی XML را دریافت کرده و آن را بدون بررسی به کاربر منعکس کند. در حقیقت نگرانی اصلی، از اجرا شدن کدهای مخرب توسط XML Parser است. نفوذگران از طریق این آسیب پذیری می توانند دستگاه کاربر را آلوده کرده و در ادامه خرابکاری هایی همچون سرقت داده های بااهمیت، حملات از کاراندازی سرویس و مواردی از این دست را اجرا کنند.

به گزارش شرکت مهندسی شبکه گستر به نقل از شرکت McAfee، عدم برنامه نویسی صحیح در XML می تواند سبب بروز ضعفی امنیتی با عنوان تزریق XML External Entity یا به اختصار XXE شود.

در زبان XML،وEntity میانبری برای تعریف یک مقدار است. ضمن اینکه می توان محتوای یک فایل داخلی یا خارجی را نیز در آن ذخیره کرد.

این آسیب پذیری بصورت بالقوه در حالات زیر قابل بهره جویی است:

برنامه مقداری را از کاربر به عنوان ورودی پذیرفته و آن را در فایلی XML دخیره و سپس اجرا می کند.
برنامه امکان آپلود فایل XML را فراهم می کند و محتوای آن به کاربری دیگر نمایش داده می شود.
بعنوان مثالی برای حالت نخست، در شکل زیر testuser بصورت ایستا تعریف شده است.

XXE زبان برنامه نویسی، درگاهی برای ورود نفوذگران

XXE زبان برنامه نویسی، درگاهی برای ورود نفوذگران

اما در شکل زیر testuser به یک Entity با عنوان XXE تخصیص داده شده است.

XXE زبان برنامه نویسی، درگاهی برای ورود نفوذگران

XXE زبان برنامه نویسی، درگاهی برای ورود نفوذگران

حالا اگر مقدار از کاربر دریافت شود و XML Parser هر دو را به یک صورت اجرا کند، نتیجه این می شود که برنامه به XXE آسیب پذیر است. برای نمونه نفوذگران می توانند با سوءاستفاده از کد بالا به یک فایل سیستمی دست پیدا کند.

XXE زبان برنامه نویسی، درگاهی برای ورود نفوذگران

XXE زبان برنامه نویسی، درگاهی برای ورود نفوذگران

مثال های بیشتر برای حالت نخست از اینجا قابل دریافت است.

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

© کپی رایت - ریکاوری هارد و بازیابی اطلاعات امین پایتخت