إضافة SMB إلى Windows ، ما مدى أمان هذا؟
سؤال
صادفت اختراقًا صغيرًا ، يزعم أنه يمكّن SMB: // على Windows.
كانت الشكوى أن أشياء مثل <a href="\\computername\path\file.ext">text</a>
لم يكن يعمل.
على الرغم من أنه يمكنك استخدام الملف: ///// في عنوان URL الخاص بك ، أراد المستخدم استخدام SMB: // بحيث يكون منصة.
يذهب الاختراق على النحو التالي:
1) إنشاء ملف Reg هذا ، حفظه وتنفيذه:
REGEDIT4
[HKEY_CLASSES_ROOT\smb]
@="URL:smb Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\smb\shell]
[HKEY_CLASSES_ROOT\smb\shell\open]
[HKEY_CLASSES_ROOT\smb\shell\open\command]
@="\"C:\\smb.bat\" \"%1\""
ثم قم بإنشاء ملف SMB.BAT في مجلد C الخاص بك ، والذي يحتوي على هذا:
@echo off
cd C:\
set url=%~dpnx1
explorer \%url:~7%
exit
سؤالي: ما مدى أمان هذا ، وأي أفكار أخرى حول هذا الموضوع؟ إلى جانب الملف: ///// شيء أعنيه.
المحلول
بالنسبة لي ، يبدو اللعنة خطير لأنه يسمح أي موقع ويب لوضع عنوان URL " resourcename" ، والتي ستعمل بغض النظر عن السياق ، و smb.bat
سيتم استدعاؤه إذا قمت بالنقر فوق هذا الرابط. لا أفهم تمامًا بناء جملة الدُفعات (الجزء ~ خاصة) ولكن يبدو لي أنه من الممكن أن نمر بأي نوع من الحجة explorer.exe
.
من المحتمل ألا يكون هناك خطر فوري لأنه من غير المرجح أن يعتقد مهاجم خارجي أن لديك هذا الإعداد. لا يزال ، آمنا انها ليست كذلك.
نصائح أخرى
أفضل أن يكون الخادم يكتشف عملاء Windows Output ServerName Path Scheme لتلك و SMB: // لكل شيء آخر.
ناهيك عن أن SMB ليس هو البروتوكول الوحيد الذي يستخدم هذا بناء الجملة ، وكذلك يفعل أي نظام ملفات آخر مثل WebDAV. فكرة ذكية إلى حد ما ، وأتمنى أن تعمل SMB: // أيضًا.