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

StackOverflow https://stackoverflow.com/questions/2079276

  •  21-09-2019
  •  | 
  •  

Вопрос

Я наткнулся на небольшой хак, который утверждает, что включает 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

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

Это было полезно?

Решение

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

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

Другие советы

Я бы предпочел, чтобы сервер обнаружил Windows Clients Output ServerName Path схема для них и SMB: // для всего остального.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top