中国用户很多时候愿意用隐私来换便捷服务 —— 彦宏·李隐私数据和当前的个性化推荐服务的确是存在冲突的,但是我们没得选啊,各大平台几乎(*#¥&98(&……2」用户的隐私数据。你看ebay多苟且,偷偷摸摸的拿。原文开始最近,有人透露给我说,一些网站会扫描用户的 localhost 的端口,大概是用来获取用户设备指纹并用来跟踪,或者机器人检测。我觉得这是不可接受的,所以我实际调查了下,发现很多网站都在因为不确定的原因对用户进行端口扫描。端口扫描介绍端口扫描是个渗透测试人员和黑客常用的对抗技术,用来扫描开放给互联网的机器,确定什么应用或服务在网络上进行监听,这样可以展开特定的攻击。一般安全软件会扫描开放的端口,并标识为潜在的危险。大多数家庭路由不会开放任何端口,所以扫描一个互联网用户的ip地址不太可能返回任何有用的信息。然而,很多用户在他们的电脑上会运行监听端口的软件,原因有很多-在线游戏,音视频共享,还有少部分用户会在本地安装远程连接程序。网站通过端口扫描可以获得你运行的软件的信息。很多端口是明确由哪些服务使用的,所以一个开放端口的列表可以给出一个很好的视图,来确定在运行应用。例如, Steam(一个游戏商店和平台)运行在端口 27036,所以扫描到这个端口在开放,就有理由相信用户在浏览页面时还在开着steam。eBay是如何扫描端口的过去我曾经做过一个安全产品,特别注意来自员工浏览器的端口扫描。像BeEF一样的攻击框架就有端口扫描的特性,主要用来侵害用户电脑或者网络内其他设备。所以,我想对设备上的任何端口扫描都发出潜在危害的报警,而一个网站对localhosts的扫描会触发报警。另外,据报道过去有些银行有时会扫描访问者的端口,我听说 Threat Matrix 提供这个对客户的恶意软件探测检查服务。我听说ebay是会扫描端口的,不过开始访问并没有发现什么可疑的行为。我想他们可能用了什么启发式的方式决定扫描谁,所以我试了不同的浏览器,仿造了一些设置,没有任何发现。我想可能是因为我用的是Linux,所以我创建了一个Windows的虚拟机,非常明确的,我在浏览器工具中发现了易贝首页进行了端口扫描:易贝端口扫描观察下易贝扫描的端口,它在扫描本地是否在运行 VNC 服务(Virtual Network Console 一种远程登录的服务) ,和报道的一些银行网站是一样的。我列出了端口和他们已知的作用(我不熟悉的一些留空白了):5900: VNC5901: VNC port 25902: VNC port 35903: VNC port 45279:3389: Windows remote desktop / RDP5931: Ammy Admin remote desktop5939: 5944:5950: WinVNC 6039: X window system6040: X window system63333: TrippLite power alert UPS7070: RealAudioVNC有时会作为机器人网络程序或病毒远程登录用户电脑的一部分。有几个恶意软件服务就是通过操纵VNC来达到这个目的的。不过一些管理员也使用VNC当做可用的工具来远程登录机器,或者一些终端用户支持软件也会使用,所以根据是否有VNC来鉴别恶意软件是个坏主意。而且,当我安装运行了一个VNC服务,我没发现网站的表现有任何不同-所以到底为什么易贝在查找VNC端口?如何使用WebSocket进行端口扫描WebSocket 是可以让网站进行双向通信的方式,就像传统的网络socket一样。这可以让网站周期性的传送一些信息到浏览器,而不需要用户交互或者轮训,这个有很好的易用性。配置了一个 WebSocket, 需要指定一个目标主机和端口,但是不需要和脚本所在的服务器相同。为了扫描端口,脚本只需要指定一个私有的ip地址(比如 localhost)和想要扫描的端口。WebSocket 只能通过http交互,所以除非扫描到的主机和端口是个WebSocket的服务器,否则是无法建立连接的。为了解决这个问题,我们可以根据连接时间来判断是否端口在打开。开放的端口会耗费更多的时间,因为需要经历一个TLS协商的过程。你也可能等到不同的错误信息。如果你安装了python,试着在8080端口运行一个本地的WEB服务器:python3 -m http.server 8080现在,打开浏览器的开发者控制台(一般是 options -> Web Developer -> Console) ,然后直接运行一些javascript脚本。这是我在chrome操作后看到的信息:> var s = new WebSocket("ws://127.0.0.1:8080")< undefinedVM1131:1 WebSocket connection to 'ws://127.0.0.1:8080/' failed: Error during WebSocket handshake: Unexpected response code: 200(anonymous) @ VM1131:1>var s = new WebSocket("ws://127.0.0.1:8081")<undefinedVM1168:1 WebSocket connection to 'ws://127.0.0.1:8081/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED利用错误信息和时间攻击,一个网站可以很容易的获取端口是否打开的信息。暗中扫描道德沦丧不管端口扫描是用来传播病毒也好,是电子商务的一部分也好,或者是银行"安全检查",他都是明确的不道德行为而且是可能触犯法律的。如果你看到这这种行为,我觉得你应该像扫描的机构投诉,并且安装扩展包来阻止你的浏览器的这种行为,一般扩展会在第一时间阻止这种脚本加载。原文结束看官姥爷们可以去验证一下看看。
本文出自快速备案,转载时请注明出处及相应链接。