When Support Portals Bite Back: DOM-XSS in a Helpcenter
一位安全研究人员在浏览Freshdesk支持页面时发现了一个DOM-XSS漏洞。通过查看页面源代码,他发现一个脚本直接将API返回的tunnel.host和tunnel.ip拼接到DOM中,存在XSS风险。虽然未造成实际损害,但成功触发了alert(document.domain)。 2025-9-9 05:3:55 Author: infosecwriteups.com(查看原文) 阅读量:24 收藏

Devansh Patel

FREE LINK

You know what’s fun? Browsing boring helpcenter pages that look like they’d never hurt a fly, until you pop open DevTools and realize they’re basically handing you a free DOM-XSS sink.

That’s exactly what I stumbled upon at support.example.com, a Freshdesk-powered portal. Spoiler: no, I didn’t pwn ExampleCorp. Yes, I did get an alert(document.domain) out of it.

Press enter or click to view image in full size

Step 1: Boredom + View Source

The page in question is a public knowledgebase article that proudly lists “secure servers.” Hidden inside the HTML was this neat little script block:

xmlHttp.open("GET","https://api.example.com/tunnels",true);
xmlHttp.responseType = "json";
xmlHttp.onload = function() {
if (xmlHttp.status === 200) {
var tunnels = xmlHttp.response;
for (var tunnel of tunnels) {
jQuery(".tunnel-list").append(
"<li><span>"+tunnel.host+"</span><span><i>"+tunnel.ip+"</i></span></li>"
);
}
}
};

Yes, you read that right. They take tunnel.host and tunnel.ip from the API and just string-concat them straight into the DOM. What could possibly go wrong?

Step 2: Console Shenanigans


文章来源: https://infosecwriteups.com/when-support-portals-bite-back-dom-xss-in-a-helpcenter-4ac7e154ce4e?source=rss----7b722bfd1b8d--bug_bounty
如有侵权请联系:admin#unsafe.sh