حمله به سیستم های کامپایل آنلاین از طریق دستکاری فایل های هدر

هانو بوک، نویسنده این پروژه fuzzing-project.org, متوجه شد در مورد آسیب پذیری رابط های کامپایل تعاملی که امکان پردازش کد خارجی در زبان C را فراهم می کند. هنگام تعیین یک مسیر دلخواه در دستورالعمل "#include"، یک خطای کامپایل شامل محتویات فایلی می شود که نمی تواند کامپایل شود.

به عنوان مثال، با جایگزین کردن «#include » به کد یکی از سرویس‌های آنلاین، خروجی توانست هش رمز عبور کاربر root را از فایل /etc/shadow دریافت کند که این نیز نشان می‌دهد که وب سرویس با حقوق ریشه اجرا می شود و دستورات کامپایل را به صورت روت اجرا می کند (ممکن است از یک کانتینر ایزوله در حین کامپایل استفاده شده باشد، اما اجرای به عنوان root در یک ظرف نیز یک مشکل است). سرویس مشکل دار که در آن امکان بازتولید مشکل وجود داشت هنوز تبلیغ نشده است. تلاش برای باز کردن فایل‌ها در شبه FS /proc ناموفق بود زیرا GCC آنها را به عنوان فایل‌های خالی در نظر می‌گیرد، اما باز کردن فایل‌ها از /sys کار می‌کند.

منبع: opennet.ru

اضافه کردن نظر