لینوکس – نحوه کپی کاراکتر BS (0x08) برای ورودی برای سرریز بافر در GDB؟

من نیاز به سرریز یک بافر با یک مقدار خاص که حاوی 0x08 است. اگر از echo -ne "AA x08A" استفاده کنم، خروجی AA است، به عنوان شخصیت بازخوانی و یک A حذف می شوند.

چگونه می توانم این مقدار را به ورودی برنامه آسیب پذیر من؟ من می خواهم آن را در GBD باشد، بنابراین می توانم بعد از آن پشته را بررسی کنم.

هشت رقم عدد صحیح به 16 رقم ASCII

یک کلید 6 رقمی (عدد صحیح) دارم و می خواهم آن را به صورت 16 رقمی از ASCII منتقل کنم تا بعدا در انتهای دریافت آن استفاده شود.

آیا یک تابع هشایی وجود دارد که می توانم برای رسیدن به آن استفاده کنم ؟

احراز هویت – دور زدن فرمان / اسکریپت مشخص شده در / etc / passwd

خط زیر از / etc / passwd :

 sadeq: x: 1000: 1000: محمد صادق دوستی ،،،: / home / sadeq: /bin/custom-script.sh را در نظر بگیرید

آخرین بخش /bin/custom-script.sh ، دستور / اسکریپت را اجرا می کند زمانی که کاربر وارد سیستم می شود. در حال حاضر، این یک اسکریپت ساده است که کاربر را با منو معرفی می کند، به طور موثری دستورات احتمالی را که می تواند اجرا کند، محدود کند.

یا امیدوارم این کار را انجام دهم! شاید کاربرانی بتوانند custom-script.sh را دور بزنند و به طور مستقیم به Bash دسترسی پیدا کنند.

آیا راهی برای دور زدن اسکریپت Bash فوق وجود دارد و دستورات دیگر را اجرا می کند؟

ویرایش: موارد ساده زیر را به عنوان custom- script.sh :

 #! / bin / bash
اکو اسم شما چیست؟
نام را بخوان
echo سلام نام قیمت

لینوکس – چه چیزی می تواند یک مهاجم در این سناریو انجام دهد؟ (بازخوانی غیر قابل توصیف، نمایه، و غیره)

مسیر در نمایه bash تعریف شده است به طوری که ~ / bin آخرین بار می شود، بنابراین در حال اجرا "فایرفاکس" باید فایرفاکس پیش فرض را اجرا کند و نه سفارشی "فایرفاکس" که توسط کاربر در دایرکتوری خانگی نصب شده است.

متغیرها را می توان نوشت در زمان اجرا میانبرهای روی دسکتاپ و در منوها میتوانند رونویسی شوند. نام مستعار را می توان تعریف کرد. دستور کار محیط دسکتاپ را برای شروع کد خود هر بار که شروع می شود … همانطور که جنگل می نویسد؛ تعداد زیادی از آنها برای لیست همه آنها وجود دارد. حساب کاربری خود را به خطر بیافتد!

.bashrc، .profile، .bash_profile، .bash_logout، و غیره (همه این نوع فایلها) فقط توسط ریشه قابل نوشتن هستند، بنابراین کاربر باید از sudo برای ویرایش آنها استفاده کند.

Let من چیزی به شما نشان می دهم:

[/tmp/foo] نوار لمسی $
[/tmp/foo] $ sudo chown ریشه نوار
[/tmp/foo] $ ls -la
کل 24
drwxr-xr-x 2 کاربران vidarlo 4096 17 ژوئن 14:13.
drwxrwxrwt 131 ریشه ریشه 20480 17 ژوئن 14:13 ..
-rw-r - r-- 1 کاربران ریشه 0 17 ژوئن 14:13 bar
[/tmp/foo] $ chmod 777 bar
chmod: تغییر مجوز "bar": عملیات مجاز نیست
[/tmp/foo] $ rm bar
rm: پاک کردن فایل ضمیمه شده به طور منظم از نوار "نوار" حذف؟ ی
[/tmp/foo] $

تا زمانی که شما مجوز نوشتن برای دایرکتوری (که تقریبا برای ~ نیاز دارید)، می توانید فایل هایی را که مالک نیستید حذف کنید. حمله کننده می تواند به طور موثر بازیابی فایل ها را cat.bashrc> / tmp / foo && rm -f. bashrc && cat / tmp / foo> .bashrc انجام دهد.

علاوه بر این حملات تشدید دسترسی محلی بر روی یک راه حل دسک تاپ دقیقا از بین نرفته است.

php – wildcards بش – دستکاری globbing برای حذف فایل های دلخواه

من در حال حاضر یک پلاگین را حسابرسی می کنم و وضعیت زیر را دارم (به عنوان مثال برای اهداف ساده شده):


نکته این است که من می خواهم از این وضعیت برای حذف فایل های دلخواه در سیستم استفاده کنم که ممکن است منجر به اجرای کد از راه دور شود. مسئله این است که من $ filename را کنترل می کنم، اما بعدا افزوده خواهد شد.

glob () یک تابع در PHP است که از تطابق الگو برای یافتن فایل ها و دایرکتوری ها استفاده می کند. glob از کلمات وحشی سیستم استفاده می کند.

هنگامی که متغیر $ absolute_path را گسترش می دهید، این نتیجه است:

 / var / www / html / wordpress / cache / /I-HAVE-CONTROL-OVER-THIS-PART- [0-9] * .min.css

هدف من این است که نتایج زیر را دریافت کنید: glob () مسیر را برای wp-config.php ((19459005) / var / www / html / wordpress / cache /../../ wp-config.php )

به منظور دستیابی به این هدف، باید glob را "نادیده گرفتن" همه چیزهایی که بعد از قسمت اول کنترل یا بعضی از موارد دیگر. آیا راهی برای انجام دادنش وجود دارد؟

من قبلا اشکال زدایی glob () (19459007) خودم را امتحان کردم، اما بیشتر نمیدانم.

</p>
<pre>php - wildcards بش - دستکاری globbing برای حذف فایل های دلخواه<br />