Добавление SMB в Windows, насколько это безопасно? - PullRequest
3 голосов
/ 17 января 2010

Я наткнулся на небольшой взлом, который утверждает, что он включает smb: // в Windows.
Жалоба была на то, что такие вещи, как <a href="\\computername\path\file.ext">text</a> не работали.
Несмотря на то, что вы можете использовать file: ///// в своих 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

Мой вопрос: насколько это безопасно и какие-либо другие мысли по этому поводу? Помимо файла: ///// что я имею в виду.

Ответы [ 3 ]

2 голосов
/ 17 января 2010

Для меня это выглядит чертовски опасно, потому что позволяет любому сайту размещать URL-адреса "\\ RESOURCENAME", которые будут работать независимо от контекста, и будет вызываться smb.bat если вы нажмете такую ​​ссылку. Я не совсем понимаю синтаксис пакета (особенно часть), но мне кажется, что можно передать любой тип аргумента explorer.exe.

Вероятно, непосредственной опасности нет, потому что очень маловероятно, что злоумышленник предположит, что вы настроили это. Тем не менее, это не безопасно.

0 голосов
/ 17 января 2010

Не говоря уже о том, что SMB - не единственный протокол, использующий этот синтаксис, как и любая другая файловая система, такая как WebDAV. Хотя это несколько умная идея, и я бы хотел, чтобы smb: // тоже работал.

0 голосов
/ 17 января 2010

Я бы предпочел, чтобы сервер обнаруживал для Windows-клиентов схему вывода \ имя_сервера \ путь для тех и smb: // для всего остального.

...