Po pierwszym przykładzie niewłaściwego encodingu, pora na drugi. Dla analogicznego jak w pierwszym przypadku zestawu znaków:
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~na wyjściu otrzymuje się:
<a href="#" onclick="javascript:doStuff('!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~')">demo 2</a>
Jak łatwo zauważyć, jedyną różnicą w stosunku do poprzedniego przypadku jest dodatkowe kodowanie znaku ". Dobrze to widać, jeśli oba przypadki zestawi się ze sobą:
<a href="#" onclick="javascript:doStuff('!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~')">demo 1</a><br /> <a href="#" onclick="javascript:doStuff('!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~')">demo 2</a><br />
Można się domyślić, że problemu z XSS w tym kontekście ta zmiana raczej nie rozwiązuje.
Ciąg dalszy "Niewłaściwy encoding #2" »