Adicionando SMB ao Windows, quão seguro é isso?
Pergunta
Me deparei com um pequeno hack, que afirma que permite SMB: // no Windows.
A queixa foi que coisas como <a href="\\computername\path\file.ext">text</a>
não estava funcionando.
Embora seja verdade que você pode usar o arquivo: ///// em seus URLs, o usuário queria usar o SMB: // para que seja cruzado.
O hack é o seguinte:
1) Crie este arquivo reg, salve e execute -o:
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\""
E, em seguida, crie o arquivo SMB.BAT no seu C-Folder, contendo o seguinte:
@echo off
cd C:\
set url=%~dpnx1
explorer \%url:~7%
exit
Minha pergunta: Quão seguro é isso e quaisquer outros pensamentos sobre o assunto? Além do arquivo: ///// coisa, quero dizer.
Solução
Para mim parece droga perigoso porque permite qualquer site colocar URLs " nome", que funcionarão independentemente do contexto, e smb.bat
será chamado se você clicar em um link desse tipo. Eu não entendo completamente a sintaxe do lote (especialmente a parte), mas parece -me que é possível passar qualquer tipo de argumento para explorer.exe
.
Provavelmente não há perigo imediato, porque é muito improvável que um atacante externo adivinhe que você tem essa configuração. Ainda assim, seguro não é.
Outras dicas
Prefiro que o servidor detecte os clientes do Windows ServerName Path Scheme para esses e SMB: // para todo o resto.
Sem mencionar, o SMB não é o único protocolo que usa essa sintaxe, assim como qualquer outro sistema de arquivos, como o WebDav. Uma idéia um tanto inteligente, e eu desejo que o SMB: // também funcionasse.