Cross Context Scripting with Sage
This month we have a guest blogger and his name is David Kierznowski, the founder of Operation n - the adventures of Michaels Daw. David and I have been working together on various security related projects. He currently works as a security analyst and researcher. David contacted me after he found interesting anomaly with Sage Firefox Extension. These are his words:
I would often keep abreast of new vulnerabilities and exploits via my RSS feeds. Visiting page after page was just never fun. RSS allowed me to categorise, organise and track the security mayhem on the Internet. What was the point of employing a security analyst who was outdated and outgunned?
I decided to play with Sage, which is a popular RSS extension for Mozilla Firefox. It had a friendly interface and a nice option to turn HTML tags on and off. This was a feature I was certainly interested in. It meant I could prevent a number of attacks outlined by SPI Dynamic's recent RSS Injection whitepaper. The recommendation given in this paper was the typical recommendation given to XSS attacks. Escape
- First: Sage rendered
- Second: Logical mental progression put forward the question, what if we reversed it?
<>when HTML tags were turned on (THE DEFAULT). This means we can effectively hack the latest version of Sage via RSS Injection regardless of which mode is set.
- Thirdly: Sage converts the feed into an HTML file and stores it on the local system. This means we were now in the browser's local zone policy. From here we could read any file from the local system.
The proof of concept feed can be downloaded from the following URL.