opensource – رمز عبور مدیریت امن در نرم افزار منبع باز

من یک سرور با استفاده از nodejs نوشتن می کنم. این در یک مخزن عمومی GitHub است، بنابراین کد کامل آن برای هر کسی قابل مشاهده است. مشتری می تواند رشته ها را به سرور ارسال کند. من نیاز به تعیین اینکه آیا رشته داده شده است رمز عبور مدیر است. چگونه می توانم بررسی کنم که آیا رشته مطابق با رمز عبور مدیر است، بدون نشان دادن رمز عبور در منبع؟

توجه: من باید از منبع باز استفاده کنم، بنابراین نمی توان آن را فقط یک مخزن خصوصی

رمزهای عبور – Bruteforce FileVault رمزگذاری؟

من اخیرا امتحان پزشکی قانونی و نفوذ را امتحان کردم و امیدوار بودم که کسی بتواند توضیح دهد که اطلاعات زیر چگونه است و چگونه می توان آن را برای حملات ضد حمله (هشک) علیه مک بوک ها مورد استفاده قرار داد.

VEK Wrpd "،" KEK Wrpd "،" HMAC "و" PW Key "؟ و آیا می توان آنها را برای تکثیر رمز عبور FileVault استفاده کرد اگر به درستی حدس زده شود؟

برای تخلیه داده ها از apfs-fuse استفاده کردم:

 $ ./apfs-fuse -d 16 / dev / sda2 / / path / to / mount

دستگاه / dev / sda2 باز شد اندازه 250790436864 است
شروع LoadKeybag
 تمام بلوک ها تأیید شده اند
 هدر نوع 6b657973 است
macOS1 دوره رمزگذاری شده است
رمز عبور اشاره: به دنبال نوع کلیدی 3 برای حجم 1342XXXX-XXXX-XXXX-XXXX-XXXXXXXX4251 در m_container_bag
تلاش برای بارگیری کیسه کلیدی از recs_block
شروع LoadKeybag
 تمام بلوک ها تأیید شده اند
 هدر نوع 72656373 است
رمز عبور: به دنبال کلید 4 برای حجم 1342XXXX-XXXX-XXXX-XXXX-XXXXXXXX4251 در recs_bag
رمز عبور را وارد کنید:
GetVolumeKey: کیوبگ ظرف مخزن.
کلاهبرداری کیبوگ

نسخه: 2
کلید: 2
بایت: e0

کلید 0:
UUID: 1342XXXX-XXXX-XXXX-XXXX-XXXXXXXX4251
نوع: 3 [Keybag Ref]
طول: 10
ناشناخته: 0

بلوک: 7c1f57
تعداد: 1

کلید 1:
UUID: 1342XXXX-XXXX-XXXX-XXXX-XXXXXXXX4251
نوع: 2 [VEK]
طول: 7c
ناشناخته: 0

[Blob Header]
Unk 80: 0
HMAC: 106BXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX9921
نمک: 5493XXXXXXXX1F47

[VEK]
Unk 80: 0
UUID: 1342XXXX-XXXX-XXXX-XXXX-XXXXXXXX4251
Unk 82: 0 1 9e b1
VEK Wrpd: 06391FA9XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX552582F2



GetVolumeKey: به دنبال کلید 3 برای حجم 1342XXXX-XXXX-XXXX-XXXX-XXXXXXXX4251 در m_container_bag
 کلیدی یافت شد
 اندازه داده ها مطابق با key_extent_t است
تلاش برای بارگیری کیسه کلیدی از recs_block
شروع LoadKeybag
 تمام بلوک ها تأیید شده اند
 هدر نوع 72656373 است
کیسه کلید کلید با موفقیت بارگذاری شد محتوای انباشته
کباب دمیدن (recs)

نسخه: 2
کلید: 3
بایت: 220

کلید 0:
UUID: 257AXXXX-XXXX-XXXX-XXXX-XXXXXXXX7975
نوع: 3 [KEK]
طول: 94
ناشناخته: 0

[Blob Header]
Unk 80: 0
HMAC: F047XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXF6A8
نمک: 630CXXXXXXXX268

[KEK]
Unk 80: 0
UUID: 257AXXXX-XXXX-XXXX-XXXX-XXXXXXXX7975
Unk 82: 0 2 9e b1
KEK Wrpd: BB7FXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX07F8
Iterat: 100000
نمک: 863CXXXXXXXXXXXXXXXXXXXXXXXX2F51


کلید 1:
UUID: CDF5XXXX-XXXX-XXXX-XXXX-XXXXXXXXE4CA
نوع: 3 [KEK]
طول: 94
ناشناخته: 0

[Blob Header]
Unk 80: 0
HMAC: 5A2AXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXEE8
نمک: BFBFXXXXXXXX5FD6

[KEK]
Unk 80: 0
UUID: CDF5XXXX-XXXX-XXXX-XXXX-XXXXXXXXE4CA
Unk 82: 0 2 9e b1
KEK Wrpd: 43A8XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0E07
ایترات: 117590
نمک: 8751XXXXXXXXXXXXXXXXXXXXXXXXB0DA


کلید 2:
UUID: EBC6XXXX-XXXX-XXXX-XXXX-XXXXXXXECEC
نوع: 3 [KEK]
طول: 94
ناشناخته: 0

[Blob Header]
Unk 80: 0
HMAC: 9F92XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX5706
نمک: E363XXXXXXXX09

[KEK]
Unk 80: 0
UUID: EBC6XXXX-XXXX-XXXX-XXXX-XXXXXXXECEC
Unk 82: 0 2 9e b1
KEK Wrpd: CF35XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXEC04
Iterat: 127270
نمک: 3780XXXXXXXXXXXXXXXXXXXXXXXXA2E7



کلید PW: EE62XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6AB5
KEK Wrpd: BB7FXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX07F8
KEK: A60EXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX4D78
KEK IV: F7ECXXXXXXXX202A

کلید PW: 6363XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX6191
KEK Wrpd: 43A8XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0E07
KEK: EB9FXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXD6F9
KEK IV: 5932XXXXXXXX4ACB

کلید PW: 6B62XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXEEFF
KEK Wrpd: CF35XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXEC04
KEK: B579XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAD90
KEK IV: A3E7XXXXXXXXCA4F

html – حفاظت در برابر نوع ورودی = "رمز عبور" تغییر می کند؟

خوب، شما می توانید با استفاده از API MutationObserver انجام دهید.

 const inputPasswordElements = document.querySelectorAll ('input [type=password]')؛
const observer = MutationObserver جدید (عملکرد (جهش) {
    mutations.forEach (تابع (جهش) {
        اگر (mutation.type === 'attributes' && mutation.attributeName === 'type') {
            mutation.target.value = ''؛
        }
    })؛
})؛
Array.from (inputPasswordElements) برای هر (تابع (ورودی) {
    observer.observe (ورودی، {attributes: true})؛
})؛

اگر نوع ورودی تغییر کند، رمز عبور را حذف خواهد کرد. نسخه ی نمایشی موجود در اینجا

اما چرا شما این کار را می کنید؟ کاربر می تواند رمز عبور را در منبع به هر حال خواند، تا از انجام آن جلوگیری کند.

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

لطفا با کاربران خود خصومت نکنید. به جای آنها کمک کنید.

مرورگر وب – آیا می توانم نگران باشم وقتی که من نمی توانم کلمه عبور را وارد Safari در macOS 10.13 کنم؟

چند روز پیش در یک SSD داخلی جدید قالب بندی شده یک نام تجاری جدید 10.13 نصب کردم. من آن را از فروشگاه App دانلود کردم و تمام به روز رسانی ها را نصب کردم. من در حال رانندگی هستم Safari Version 11.1 (13605.1.33.1.4) .

به نوعی من توانستم به Google وارد شوید، اما نمیتوانم وارد وب سایت دیگری شوید. صفری در هنگام وارد کردن متن در حوزه رمز عبور در هر صفحه وب دیگر به جز Google

    • اولین کاراکتر وارد شده است
    • بعد از آن، به نظر می رسد آخرین کاراکتر پس از keyup حذف می شود
    • این اتفاق می افتد زمانی که با استفاده از صفحه کلید داخلی و یا خارجی

    عادی زمینه مانند متن ، textarea و غیره کار خوب است. 19659002] در اینجا یک GIF نشان دهنده مشکل در ورود به سیستم SE است – نه Backspace یا Shift + Del فشرده شده است. این فقط در Safari اتفاق می افتد – کروم و فایرفاکس کار خوب:

     توضیح تصویر را اینجا وارد کنید

    حتی پس از چندین راه اندازی مجدد مشکل باقی می ماند


    تنظیمات زیر در صفری وجود دارد:

    • تکمیل خودکار: رمزهای عبور و اطلاعات کارت اعتباری را ذخیره نکنید
    • هیچ پسوند نصب نشده است
    • تنظیم مجدد تنظیمات پیش فرض مانند جاوا اسکریپت فعال و غیره است
    • افزونه Adobe Acrobat نصب شده است

    سعی کردم تغییر دهم تنظیمات و غیر فعال کردن پلاگین Arcobat، اما بدون هیچ شانس.


    من واقعا از دست داده ام. آیا این یک مشکل امنیتی است؟ این یک اشکال در صفری؟

چرا رمزهای عبور به طور صحیح ذخیره می شوند؟

من اغلب (تقریبا همیشه) می بینم که رمز عبور من در سرویس انتخاب شده محدود است (تا 16، 30، هر شخصیت).

آیا وجود دارد دلایل چنین محدودیتی، با توجه به اینکه ذخیره شده است درست در چنین مواردی، هش آن طول ثابت را به طور مستقل از اندازه آن داشته باشد.

من می توانم تصور کنم که ممکن است محدودیت اندازه تراکنش وجود داشته باشد تا تاثیری روی سرور نداشته باشد (یک رمز عبور 12 گیگابایتی می تواند آن را قطع کند، برخی از محدودیت ها و غیره). محدودیت نامعلوم، می گویند، 10،000 کاراکتر ممکن است در این مورد معنی داشته باشد، اما من نمی توانم دلیل منطقی برای 8/16/30/50 / و غیره را درک کنم. شخصیت های محدود.