اشکال زدایی – GDB قادر به دسترسی به حافظه کتابخانه عمومی c نیست

من سعی کردم دسترسی به حافظه کتابخانه ای c را در حافظه داشته باشم، اما به نوعی، من از خواندن آدرس در

محدود شده ام، کسی می تواند به من بگوید مشکلی است؟

این خط فرمان GDB من است [19659004] (gdb) disass main
توزیع کد مونتاژ برای عملکرد اصلی:
0x0000057d <+0>: lea 0x4 (٪ esp)،٪ ecx
0x00000581 <+4>: و $ 0xfffffff0،٪ esp
0x00000584 <+7>: pushl -0x4 (٪ ecx)
0x00000587 <+10>: فشار٪ ebp
0x00000588 <+11>: mov٪ esp،٪ ebp
0x0000058a <+13>: فشار٪ ebx
0x0000058b <+14>: فشار٪ ecx
0x0000058c <+15>: زیر $ 0x400،٪ esp
0x00000592 <+21>: تماس 0x480 <__x86.get_pc_thunk.bx>
0x00000597 <+26>: اضافه کردن $ 0x1a69،٪ ebx
0x0000059d <+32>: mov٪ ecx،٪ eax
0x0000059f <+34>: mov 0x4 (٪ eax)،٪ eax
0x000005a2 <+37>: افزودن $ 0x4،٪ eax
0x000005a5 <+40>: mov (٪ eax)،٪ eax
0x000005a7 <+42>: زیر $ 0x8،٪ esp
0x000005aa <+45>: فشار٪ eax
0x000005ab <+46>: lea -0x408 (٪ ebp)،٪ eax
0x000005b1 <+52>: فشار٪ eax
0x000005b2 <+53>: تماس 0x400
0x000005b7 <+58>: افزودن $ 0x10،٪ esp
0x000005ba <+61>: زیر $ 0xc،٪ esp
0x000005bd <+64>: lea -0x408 (٪ ebp)،٪ eax
0x000005c3 <+70>: فشار٪ eax
0x000005c4 <+71>: تماس 0x3f0 0x000005c9 <+76>: افزودن $ 0x10،٪ esp
0x000005cc <+79>: زیر $ 0xc،٪ esp
0x000005cf <+82>: فشار دادن $ 0xa
0x000005d1 <+84>: تماس 0x420 0x000005d6 <+89>: افزودن $ 0x10،٪ esp
0x000005d9 <+92>: mov $ 0x0،٪ eax
0x000005de <+97>: lea -0x8 (٪ ebp)،٪ esp
0x000005e1 <+100>: pop٪ ecx
0x000005e2 <+101>: pop٪ ebx
0x000005e3 <+102>: pop٪ ebp
0x000005e4 <+103>: lea -0x4 (٪ ecx)،٪ esp
0x000005e7 <+106>: ret
پایان تخلیه مونتاژ کننده
(gdb) x / 1i 0x420
0x420 : jmp * 0x18 (٪ ebx)
(gdb) x / 1x 0x18
0x18: نمی تواند به حافظه در آدرس 0x18 دسترسی پیدا کند

متشکرم!

exploit – چرا نمیتوانم shellcode خودم را در اشکال زدایی ایمن ببینم؟

من یک تمرین برای ایجاد شل کد سفارشی (windows) انجام میدهم. هدف این است که شلختگی ایجاد کنید که فایل ورودی فایروال را حذف می کند.
من با موفقیت یک پوسته معکوس با metasploit ایجاد کردم، با استفاده از یک برنامه پایتون نوشتم، اما زمانی که من سعی می کنم shellcode خود را بنویسم هنوز موفق نشده ام. بخشی از آن به این علت است که ایمنی در شیوه ای عجیب رفتار می کند:

رسیدن به یک نقطه خاص در اجرای، ایمنی از کار می افتد. با این حال، زمانی که فشار را فشار داده و دوباره به گام بر می گردم، می توانم رشته فایلی را در eBx ببینم. بنابراین shellcode من اعدام شد، اما من نمیتوانم دستورالعملهای اعدام را ببینم.

اگر شما بتوانید با رفتار ایمنی کمک کنید، از آن قدردانی خواهم شد …

 خروج ایمنی

 رشته در EBX

 در اینجا یک عکس فوری از شلككود

اشکال زدایی چرا TLS بین openssl و برخی از سایتهای SSL شکست خورده است

سیستم CentOS 5.11 قدیمی که OpenSSL 0.9.8e را اجرا می کند. من قادر به اتصال بیشتر سایت های SSL بدون هیچ مشکلی هستم. با این حال با برخی از سایت های مانند www.looklinux.com، اگر من سعی می کنم برای اتصال من این خطا:

openssl s_client -connect www.looklinux.com:443
CONNECTED(00000003)
27080:error:14077410 : روال SSL: SSL23_GET_SERVER_HELLO: sslv3 هشدار دست دادن شکست: s23_clnt.c: 586:

حالا از انجام
openssl s_client -connect www.google.com:443 | grep -i "پروتکل"
من در پروتکل "پروتکل: TLSv1" را می بینم. و از
https://www.ssllabs.com/ssltest/analyze.html؟d=www.looklinux.com&latest
من می دانم که www.looklinux.com از TLS 1.0، 1.1 و 1.2 پشتیبانی می کند. بنابراین به نظر می رسد سرویس گیرنده و سرور حداقل یک پروتکل سازگار (TLS v1) را به اشتراک بگذارد و این مشکل نیست.

پس از آن، آنچه اشتباه است و چگونه می توانم آن را حل کنم؟

این پست:
https://stackoverflow.com/questions/48983918/authorize-net-gem-tls- سازگاری 1-2
نشان می دهد گاهی نسخه قدیمی OpenSSL سازگار نیست. آیا آسان توضیح دادن این است که OpenSSL قدیمی تر نمی تواند انجام دهد؟ و واقعا چطوری وجود نداره؟ من از "به روز رسانی" آن از طریق ایجاد OpenSSL از منبع مراقب هستم، زیرا دستورالعمل هایی برای ساختن از منبع معمولا اشتباه یا نادیده گرفته می شود، در حالی که یک خواننده متخصص می داند دستورات قرار است باشد، اما می گویم دستورالعمل ها دقیقا به دست آمده و جذب می شوند. بنابراین امیدوارم بتوانم این را فقط با نصب یک گواهینامه اضافی یا چیزی درست کنم.