Добавление SMB в Windows, насколько это безопасно?


Я наткнулся на небольшой хак, который утверждает, что он включает smb: / / на windows.
Жалоба заключалась в том, что такие вещи, как <a href="\computernamepathfile.ext">text</a>, не работали.
Хотя верно, что вы можете использовать file:///// в url-адресе, пользователь хотел использовать smb://, чтобы он был кроссплатформенным.

Хак идет следующим образом:
1) Создайте этот Reg-файл, сохраните и выполните его:

REGEDIT4

[HKEY_CLASSES_ROOTsmb]
@="URL:smb Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOTsmbshell]

[HKEY_CLASSES_ROOTsmbshellopen]

[HKEY_CLASSES_ROOTsmbshellopencommand]
@=""C:\smb.bat" "%1""

И затем создайте smb.bat-файл в вашей C-папке, содержащий следующее:

@echo off
cd C:
set url=%~dpnx1
explorer %url:~7%
exit

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

3 3

3 ответа:

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

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

Я бы предпочел, чтобы сервер обнаружил вывод клиентов windows \servername\path scheme для них и smb:// для всего остального.

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