近日Imperva的研究人员发现,称为超链接审核或ping的HTML功能正被用于对各种站点执行DDoS攻击。站点通常使用此功能来跟踪链接点击,但现在发现攻击者滥用此功能向站点发送大量Web请求以使其脱机。
DDoS攻击
对于那些不熟悉超链接审核的人来说,它是一种HTML功能,允许网站跟踪链接的点击次数。要创建超链接审核URL或ping,您只需创建一个普通的超链接HTML标记,包含一个ping =“[url]”变量,如下所示。
Ping HTML链接
在上图的示例中,当用户点击链接时,他们的浏览器将首先通过POST请求连接到https://www.bleepingcomputer[.]com/pong[.]php,然后将浏览器定向到Google。这就会导致您的浏览器在单击单个链接时连接到两个不同的站点。
接收ping的网页可以检查POST请求标头,以查看点击的原始页面 (Ping-From header)以及链接到达的页面 (Ping-To header)。
虽然不像JS和重定向跟踪那样常见,但Google搜索结果中使用了此功能,Google可以跟踪其链接的点击次数。
Ping被滥用来执行DDoS攻击
在Imperva的新研究中,研究人员发现攻击者利用HTML ping来对各种站点进行分布式拒绝服务攻击。 在此次攻击过程中,Imperva检测到4,000个IP地址,涉及在4小时内发送大约7,000万个请求。该攻击高点达每秒7,500个请求。2016年类似的一次基于Android的手机DDoS攻击是从27,000个独特IP中实现了每秒400个请求的峰值。
峰值7,500每秒请求数(RPS)
奇怪的是,Imperva观察到的所有PING请求都显示Ping-To 和Ping-Fromt 标头值来自http://booc.gz.bcebos [.] com / yo.js?version = cc000001。奇怪在于通常来说链接URL与点击链接的URL不同。
您可以在下面看到此攻击的POST ping请求示例。
示例Ping发布请求
从Ping-To和Ping-From标头检查you.html页面时,Imperva能够了解发生了什么。you.html页面(如下所示)加载了两个可执行HTML ping DDoS攻击的JS文件。
you.html页面上的脚本
ou.js文件(如下所示)包含一系列针对DDoS攻击的网站。Imperva表示大多数目标网站针对的都是游戏公司。
一系列DDoS目标(OU.jsg)
如下图所示yo.js脚本将随机选择上述站点之一,并创建一个HTML ping URL,该站点作为ping目标。然后它将以编程方式单击链接,如link.click()命令所示。
生成链接并单击它的功能(yo.js)
然后,JavaScript将创建一个新的HTML ping URL并每秒点击一次。因此用户访问此页面时将生成最多次数的点击次量。
我们可以注意到请求中的User-Agent与中文聊天应用程序微信相关联。微信使用默认的移动浏览器打开邮件中的链接。而QQ浏览器在中国很受欢迎同属于腾讯,许多用户会选择它作为智能手机的默认浏览器。
Imperva的理论是攻击者利用社交工程和恶意广告将用户引导到托管这些脚本的页面。欺骗毫无戒心的微信用户打开浏览器,这是一种可能的情况:
1、攻击者将恶意广告注入合法网站
2、使用iframe中的恶意广告链接到合法网站会发布到大型微信群聊
3、合法用户通过恶意广告访问该网站
4、执行JavaScript代码,创建一个包含用户点击的“ping”属性的链接
5、生成HTTP ping请求并从合法用户的浏览器发送到目标域
浏览器可阻止您禁用HTML ping
好消息是,如上所述,通过在浏览器中禁用超链接审核,很容易阻止大多数浏览器被用于超链接审计ping攻击。
不好的是,除了Firefox和Brave之外,Chrome,Edge,Safari和Opera等浏览器默认启用超链接审核,大多数允许您禁用它。但这些浏览器的未来版本或许将不再允许用户根本禁用超链接审核。 无法禁用超链接审核不仅是一种隐私风险,也是许多人关注的原因,但这项新的研究表明它远比之前理解的要糟糕。
既然我们知道这个功能正在分布式攻击中使用,那么用户能够比以往任何时候都更有能力禁用此功能。目前默认禁用超链接审核并继续提供禁用方法的浏览器是Firefox和Brave。