3

我遇到了一个小黑客,声称它可以在 Windows 上启用 smb://。
抱怨是这样的事情<a href="\\computername\path\file.ext">text</a>不起作用。
虽然您可以在您的 url 中使用 file://///,但用户希望使用 smb://,以便它是跨平台的。

hack 如下:
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\""

然后在您的 C 文件夹中创建 smb.bat 文件,其中包含以下内容:

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

我的问题:这有多安全,以及对此事的任何其他想法?除了我的意思是 file:///// 。

4

3 回答 3

2

对我来说,它看起来非常危险,因为它允许任何网站放置“\\RESOURCENAME” URL,无论上下文如何,它都会起作用,并且smb.bat如果你点击这样的链接就会被调用。我并不完全理解批处理语法(尤其是 ~ 部分),但在我看来,可以将任何类型的参数传递给explorer.exe.

可能没有直接的危险,因为外部攻击者不太可能猜到你已经设置了这个。不过,安全它不是。

于 2010-01-16T23:13:39.107 回答
0

我宁愿让服务器检测 Windows 客户端输出 \servername\path 方案为那些和 smb:// 其他一切。

于 2010-01-16T23:14:55.253 回答
0

更不用说,SMB 不是唯一使用该语法的协议,任何其他文件系统(如 WebDAV)也是如此。不过有点聪明的想法,我希望 smb:// 也能工作。

于 2010-01-17T19:05:51.890 回答