$request:charset[utf-8]
$sValue[abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
`+-=~!@#^$%^^&*()_
[]{}<>^;:'",./?
абвгдеёжзийклмнопрстуфхцчшщъыьэюя АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ]
<hr />
Origin:
<pre>
=^taint[html][$sValue]=
</pre>
<hr />
$sEscapedValue[^sValue.js-escape[]]
Escaped:
<pre>
=^taint[html][$sEscapedValue]=
</pre>
<hr />
$sUnescapedValue[^string:js-unescape[$sEscapedValue]]
Unescaped [^if($sUnescapedValue eq $sValue){equal to source}{NOT equal to source}]:
<pre>
=$sUnescapedValue=
</pre>
<hr />
Empty string escape/unescape:
$v[]
$s[$v]
<pre>
=^s.js-escape[]=
=^string:js-unescape[$s]=
</pre>
<hr />
# replace %uXXXX to \uXXXX and check escaping again
$sEscapedValue2[^sEscapedValue.match[%u][gi]{\u}]
<pre>
=^taint[html][$sEscapedValue2]=
</pre>
$sUnescapedValue2[^string:js-unescape[$sEscapedValue2]]
Unescaped [^if($sUnescapedValue2 eq $sValue){equal to source}{NOT equal to source}]
E-mail: