我遇到了一个小小的黑客,声称它可以在Windows上启用。
抱怨是像<a href="\\computername\path\file.ext">text</a>
不工作。
虽然你可以在你的url中使用file://///,但是用户希望使用smb://这样它就是跨平台的。
破解如下:
1)创build这个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文件夹中创buildsmb.bat文件,其中包含以下内容:
@echo off cd C:\ set url=%~dpnx1 explorer \%url:~7% exit
我的问题:这个问题有多安全,还有其他的想法? 除了文件://///我的意思是。
对我来说,它看起来该死的危险,因为它允许任何网站放置“\\ RESOURCENAME”URL,这将工作,无论上下文, smb.bat
将被调用,如果你点击这样的链接。 我不完全理解批处理语法(特别是〜部分),但在我看来,可以将任何类型的参数传递给explorer.exe
。
可能没有直接的危险,因为外部攻击者很可能不会猜测你已经设置了这个设置。 不过,安全不是。
我宁愿有服务器检测windows客户端输出\服务器名\路径方案为这些和smb://的一切。
更不用说,SMB不是唯一使用该语法的协议,其他文件系统(如WebDAV)也是如此。 虽然有点聪明,但我希望smb://也能工作。