0%

如何使用GTM加载自定义JavaScript脚本

今天在thehackernews上看到一篇讲黑客利用Google Tag Manager外挂恶意js脚本的文章(https://thehackernews.com/2025/02/hackers-exploit-google-tag-manager-to.html),然后顺带搜了一下,发现利用GTM加载js的攻击早就有了(https://www.recordedfuture.com/research/threat-actors-continue-to-abuse-google-tag-manager-for-payment-card-e-skimming),这篇里面甚至列了很多样本。
那么GTM怎样来使用呢,下面就来简单尝试一下利用GTM来执行自定义的js脚本。

GTM创建demo

  1. 首先来到GTM控制台,在account创建账号,然后创建容器。
  2. 进入容器之后添加一个新的tag,选择custom html
    Pasted image 20250211162440.png
    Pasted image 20250211162609.png
  3. 添加自定义的js代码,使用script标签Pasted image 20250211162744.png
  4. 添加好之后就能在tags列中看见了Pasted image 20250211162902.png
  5. 点右上角的submit发布,再点开旁边的tag id就能看到给页面添加GTM的代码了Pasted image 20250211163113.png
  6. 把tag id拼接到https://www.googletagmanager.com/gtm.js?id= 后面在浏览器中打开,就能看到完整的js,而我们添加进去的自定义js就在vtp_html属性中Pasted image 20250211163348.png
  7. 把第5步中的代码添加到网站的html页面中,就能看到自定义js代码被执行了Pasted image 20250211163553.png

总结

其实就一点,相较于从别的域名加载js,使用类似GTM这种可信域名加载恶意js更容易绕过安全检测(可能一看是Google的域名就跳过了),同时也提醒我们不能简单的按照域名白名单放行安全检查。
最后,用Gemini的deep research扒了一下相关资料,链接放在下面
https://gemini.google.com/share/a0b63a35f98a