On 8/26/10 6:45 PM, Adam Barth wrote:
Note that this issue means that using atob or btoa for dealing with this is
a huge pain if non-ASCII chars are involved, since those take and return
byte arrays masquerading as JS strings, not actual Unicode strings.

I'm slightly confused how that works.  How do you represent arbitrary
binary data as characters?

You mean how do atob/btoa take their binary data in JS-land? You take your byte array, and convert it to a sequence of two-byte units by setting the high byte to 0. This sequence of two-byte units is a JS string.

Another option is to provide a base64
encoder/decoder that uses UTF8 to encode/decode the binary.

Not sure what the exact proposal here is.

Because<script>  does not decode entities in HTML, the attacker will
be limited to what he or she can do with alphanumeric characters

OK. I had misunderstood what you were proposing for <script> here. The point is that inside <script> this base64 thing will only be useful for setting innerHTML, right?

-Boris

Reply via email to