- 我有一个带有 .net web api 的 aurelia 应用程序。
- 我通过 ajax 调用与 api 通信。
- 我使用存储在浏览器本地存储中的不记名 token 进行身份验证。
我听说这是不安全的,因为可以通过 XSS 攻击检索 token 。网站上只有一个输入,用户可以在其中添加评论。但是我使用字符串插值绑定(bind)注释值,例如:
${commentText}
我的理解是不可能将 html 注入(inject)到这样的绑定(bind)中。
如果不使用 html 绑定(bind),aurelia 站点是否可能存在 XSS 攻击?如果不是,如果 token 不可访问,我是否因此受到 CSRF 攻击的保护?
我在网上看到的唯一示例是,如果用户可以在 XSS 攻击中将 html(通过某种形式的输入)注入(inject)页面,从而向攻击者显示 token 。我无法使用字符串插值绑定(bind)复制它。
最佳答案
这不是您问题的完整答案,但 Aurelia 确实对插入到模板中的任何文本进行 HTML 转义,例如 ${commentText}
.
此规则的唯一异常(exception)是当您使用 innerhtml
像这样绑定(bind) <div innerhtml.bind=“htmlText”></div>
.在这种情况下,我们不会对作为 HTML 发送的文本进行任何清理。这取决于你。
关于javascript - 如果 XSS 攻击得到缓解,Aurelia 中是否可能存在 CSRF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45754878/