Google Apps Script 上的 XSS 防御措施是什么?

What could be a good XSS defense on Google Apps Script?

提问人:Alecsou 提问时间:7/25/2023 更新时间:7/25/2023 访问量:40

问:

我目前正在尝试使用 Google Apps Script for Sheets 开发编辑器插件。很多代码都是 JavaScript 嵌入到模块中的,我有一些代码是 Google 的 Google 脚本语言。 我在 GAS 的 DocumentProperties 中存储了一些数据,但问题来了。<script>

由于简单的调用 就足以使用您想要的任何参数激活服务器端函数,因此我的情况是,我可以通过从客户端设置文档属性来简单地从 Safari Web 检查器注入一些恶意代码,该属性稍后会重新分发到代码中。google.script.run

为了解决这个问题,我现在正在 Google 脚本端进行保护,其中服务器的每个输入(以及服务器的输出)都应仅由字母数字字符和 unicode 字符 +、/ 和 = 组成。

function sanitize(input) {
  var untouched = input
  var foo = input.replace(/[a-z]*[0-9]*\u002b*\x2f*\u003d*/gi,'');
  if (foo=="") {
    return untouched
  } else {
    Logger.log("Sanitize failed !");
    return null;
  }
}

由于服务器和客户端之间唯一的通信是网页上的初始化(方法)或 DocumentProperties 的交换,此屏障是否足以保护数据免受潜在的 XSS 攻击?如果没有,应该怎么做?onOpen

OWASP给出了对抗XSS攻击的明确指示,但首先,我应该担心构建编辑器插件的XSS类型?

安全 google-apps-script XSS

评论

0赞 TheMaster 7/26/2023
您究竟在哪里插入了不受信任的数据?如果避免将不受信任的数据插入到所有执行上下文中,则发生 xss 的可能性很低。
0赞 Alecsou 7/26/2023
稍后可以在通过接收器的变量中找到数据(因此它们可以),但有些数据直接插入到 ,因此可能很危险。虽然我放置的过滤器不能通过 URL 或 ,但它可以放过我可能不知道的其他事情。<img src=<script>

答: 暂无答案