هناك فساد المكدس. نظام الوظائف () تم الخروج برمز الخطأ على الأرجح 139. لم يلاحظ تطبيقك ذلك لأنه عملية مختلفة.
تحضير المكدس لعملية جديدة - الاختلافات في الدعوة
-
29-07-2022 - |
سؤال
لدي تطبيق يشرح سعة المخزن المؤقت المكدس. أود إثارة هجوم العودة إلى LIBC.
يعتمد التدفق العازل على:
int main(int argc, char **argv)
{
[...]
char buff[16];
strcpy(buff,argv[1]);
[...]
}
عندما أسمي هذا التطبيق مباشرة من Shell ، أحصل على خطأ متوقع - مكدس تالف:
[syssec@syssecvm bufov1]$ ./vulnapp hhgfhdsgfsagfzutuewzrqwgfshgafsd
Segmentation fault
ولكن عندما أحاول إعداد الوسيطة في تطبيق آخر (evelyor.c) ، واتصل بالفولناب عبر الاتصال () ، لا يحدث شيء. يقبل Vulnapp حجة أي lenght:
./executor
You executed:./vulnapp 01234567890123450123BBBB�%�/bin/ged�������/
[syssec@syssecvm bufov1]$
لا يوجد فساد مكدس في هذه الحالة.
لماذا هو هكذا ؟
هل هناك أي طريقة للحصول على نفس التأثير (تدفق المخزن المؤقت) في حالة الاتصال ()؟
المحلول
لا تنتمي إلى StackOverflow