Curious captives

Combining web cache poisoning vulnerabilities


Listen Later

Poisoning a cache with multiple malicious responses simultaneously. The website is vulnerable to DOM-XSS due to the way the initTranslations() function handles data from the JSON file for all languages except English, and the home page sometimes uses backslashes as a folder separator. The server normalises these to forward slashes using a redirect. As a result, setting a language request with backward slash that redirects to the proper language path in a 302 response is cacheable and can be used to force other users to the another language version of the home page.

These two exploits are combined in a request importing a malicious JSON file in which a language setting is attacked from an exploit server. And while the cache is still poisoned, the home page is poisoned forcing all users to the page with that language.

...more
View all episodesView all episodes
Download on the App Store

Curious captivesBy