我有一个支持将表导出为csv的应用程序。我需要防止使用导出的csv文件进行CSV注入攻击的可能性。
当我寻找一种防止CSV注入的方法时,在大多数地方都提到可以在单元格内容前加单引号来防止CSV注入。
例如,使用excel打开以下csv内容将打开计算器。
a,=1+2+cmd|'/C Calc'!a0,c
当单元格内容以引号开头时,使用excel打开时不会打开计算器。
a,'=1+2+cmd|'/C Calc'!a0,c
但是,当使用excel打开以上csv时,excel会显示前面的引用。因此,如果我使用其他任何字符代替引号,效果都是相同的。
那么引号字符有什么特别之处?用excel打开时,在显示原始单元格内容时还有其他方法可以避免CSV注入吗?