لینوکس – چرا SUID برای اسکریپت های پوسته غیر فعال شده است، اما نه برای دوچرخه؟

در حالی که من ایده SUID را درک می کنم این است که یک کاربر غیر مجاز بتواند یک برنامه را به عنوان یک کاربر ممتاز اجرا کند، من متوجه شدم که SUID معمولا در یک اسکریپت پوسته کار نمی کند، بدون اینکه کاری انجام شود. سوال من این است که من واقعا نمی فهمیدم که بین اسکریپت پوسته و برنامه باینری چیست. به نظر می رسد که هر آنچه که می توانید با یک اسکریپت پوسته انجام دهید، می توانید آن را با C انجام دهید و آن را به یک باینری کامپایل کنید. اگر SUID برای یک اسکریپت پوسته امن نیست، آن هم برای دوتایی ها امن نیست. پس چرا اسکریپت پوسته پوسته شده است، اما نه دوتایی ها از استفاده از SUID ممنوع است؟

لینوکس – بهره برداری دودویی – نحوه تنظیم GID یک دودویی SUID با استفاده از شلکود؟

من یک باینری SUID دارم که اکنون می توانم از یک سرریز بافر استفاده کنم تا یک جعبه EUID بالا بگیرم.

با این وجود من با استفاده از shellcode زیاد کار نمیکنم و فایل لازم برای دسترسی به آن نیاز به من یک GID برابر EUID دریافت کردم. با این حال، پس از به دست آوردن پوسته من، GID من مانند قبل باقی می ماند.

پرسش من: آیا باید سیستم را فراخوانی کنم یا باید شید کد را اجرا کنم تا GID من را ارتقا دهد تا زمانی که پوسته بوجود می آید برابر EUID من باشد؟

همچنین: تا کنون، قبل از تخمک گذاری پوسته، سعی کرده ام سیستم های setregid و setegid را در shellcode آزمایش کنم، با این وجود هر دو با استفاده از GID که قبلا GID غیر مجاز من نیستند -1 بازگشت می کنند.

متشکرم.