Skip to content

Instantly share code, notes, and snippets.

Unicode XSS via Combining Characters

Most application security practitioners are familiar with Unicode XSS, which typically arises from the Unicode character fullwidth-less-than-sign. It’s not a common vulnerability but does occasionally appear in applications that otherwise have good XSS protection. In this blog I describe another variant of Unicode XSS that I have identified, using combining characters. I’ve not observed this in the wild, so it’s primarily of theoretical concern. But the scenario is not entirely implausible and I’ve not otherwise seen this technique discussed, so I hope this is useful.

Recap of Unicode XSS

Lab: https://4t64ubva.xssy.uk/

A quick investigation of the lab shows that it is echoing the name parameter, and performing HTML escaping:

Worst possible performance to clear World Cup group stage

Team B qualifies with 2 draws and 1 loss.

Team W D L GF GA GD Pts
A 3 0 0 5 0 5 9
B 0 2 1 0 1 -1 2
C 0 2 1 0 2 -2 2