使用JS绕过同源策略访问内网

isnull   ·   发表于 2019-04-08 11:07:38   ·   漏洞文章

导语:研究人员发现可以利用公网上的JS脚本来发起针对本地网络的攻击。


研究人员发现一种利用公网上的JS脚本发起对本地网络的攻击,攻击者使用受害者的浏览器作为代理,使代码可以到达内部主机,并开展监听活动,甚至对有漏洞的服务发起攻击。

同源策略是限制不同源的页面进行交互的web app安全模型,该模型并没有完全拦截该方法,因为浏览器可以访问本地主机和本地网络,所以可以绕过防火墙。

Forcepoint的安全研究员承认该攻击技术并不是第一次出现,社区开发人员已经注意到该技术了。


绕过同源策略


该技术利用的是浏览器中的SOP函数功能,允许两个不同源进行交叉源嵌入、写和拦截写。

在特定场景中,这意味着有可能发送跨域的请求,但是JS代码无法读取这样的响应。结果就是对本地网络的单向访问。

JS错误可以在监测阶段提供一些有价值的信息,通过家用路由器中常见的CSRF漏洞可以利用同一网络上的一些设备。

研究人员称攻击者可以利用公网上的恶意JS发现内外上的主机、进行有限的端口扫描和服务指纹获取。

在所有的攻击可能性中,Forcepoint列出了通过修改访问密码、配置数据或入侵有漏洞的设备等方式来获得受害者路由器的控制权。

如果允许与LAN的通信,同时浏览器配置不安全,那么就有可能将Tor用户去匿名化。使用CSRF,路由器可以ping外部主机来显示Tor用户的真实IP地址。

攻击者也可以用JS来找到受害者的内部IP地址,然后猜测网络上其他主机的IP地址。


使用JS绕过同源策略访问内网


在主机进行端口扫描是一种检车推测有效性的方式。这可以限制任意开放的端口和服务,以及计划攻击的详情。

因为SOP,JS无法读取到主机的直接HTTP连接的响应。但是加载来自主机HTTP端口的图像可能会发送onerror或onload事件,表明端口可能是开放的,timeout表示端口是关闭的。该方法有可能出现假阳性的结果。

在了解了本地IP地址并进行合理猜测后,就可以创建一个对这些主机进行端口扫描的恶意页面了。嵌入端口扫描JS代码的HTML文件位于其他域名上,可以是公网上的服务器或域名。


使用JS绕过同源策略访问内网


通过端口扫描的结果,攻击者可以找出用户可能在使用的服务。

因为SOP的限制,JS无法读取页面的内容,但是可以使用特定服务默认图像来触发onerror和onload事件来进行决策。


使用JS绕过同源策略访问内网


这样获取的信息可以被用于发起针对特定目标的攻击。根据目标,研究任意称可以从公网浏览受害者的内部网络。

其中一个例子是易受到XSS攻击、配置为与内部页面通信的目标网站。在下面的教学页面上运行恶意JS代码。


使用JS绕过同源策略访问内网


如何应对?


应对的方法是通过web代理访问外网。如果没有代理选项,可以尝试连接到私有IP地址来监测外部JS代码。


转载自嘶吼

打赏我,让我更有动力~

0 条回复   |  直到 2019-4-8 | 1341 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.