سؤال

صادفت اختراقًا صغيرًا ، يزعم أنه يمكّن 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: // أيضًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top