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

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

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

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

 خروج ایمنی

 رشته در EBX

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

Cracking password – شکستن طرح رمزنگاری خودم از دهه هشتاد

در دهه هشتادم، یک برنامه رمزگذاری برای برخی از فایلهای داده (اندازه 10-20K) نوشتم.

  1. کاربر وارد رمز عبور ASCII طولانی 8 بایت
  2. چهار اشارهگر حافظه 16 بیتی از 8 بایت رمز عبور
  3. داده های رمزگذاری شده با داده های ROM متوالی EOR-ed
  4. اگر رمز درست نباشد، داده های رمزگشایی زباله خواهند بود

Pseudo-code:

 a = password [0] | رمز عبور [1] << 8؛
b = password [2] | رمز عبور [3] << 8؛
c = password [4] | رمز عبور [5] << 8؛
d = password [6] | رمز عبور [7] << 8؛

برای (i = 0؛ i <strlen (رمزگذاری شده)؛ i ++) {
  n = i و 0xff؛
  رمزگشایی [i] = رمزگذاری شده [i] ^ a [n] ^ b [n] ^ c [n] ^ d [n]؛
}

پرسش من:

آیا این الگوریتم دارای ضعفی است که به من اجازه می دهد رمز عبور / رمزگشایی داده ها را بدون استفاده از نیروی بطور منظم پیدا کند (امتحان کنید تمام ترکیبات، لیست های لیست و …)

حتی می دانیم که داده های رمزگشایی چگونه شبیه هستند، بنابراین آزمایش برای موفقیت یک پازل در خود است، اما من فکر می کنم دنبال دنباله ای از کد ماشین معتبر باید ترفند را انجام دهم …)