如何防止JavaScript中格式错误的unicode字符串

时间:2018-09-07 03:14:08

标签: javascript security unicode

我正在对我的javascript应用程序中的用户文本字段进行一些注入攻击,并发现了一个特定的unicode字符串,当我的其他客户端应用程序从数据库中读取此值时,该字符串会导致我的崩溃。

如何防止这些有害的unicode字符串,同时仍然允许其他unicode(如日语字符)?

对于攻击字符串,我使用了本文档中的最后一个选项: https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt

  

5.3.4 U + nFFFE U + nFFFF(对于n = 1..10)|                                                                                 |          “ |           “

我读到了encodeURIComponent(),听起来好像应该对格式错误的unicode字符串抛出错误。但是,我在终端中使用上述攻击字符串在节点REPL中进行了尝试,它解析得很好,没有任何错误。我使用的编码错误吗?我的终端机是否以某种方式影响了角色?我应该使用其他功能吗?

任何帮助将不胜感激,对于这样的攻击,我还是一个新手。

0 个答案:

没有答案