You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to XSS vulnerabilities. Only use HTML interpolation on trusted content and never on user-provided content.
Try to use as much as possible interpolated expressions {{}}, they are stringified and cannot be executed by the browser. https://blog.sqreen.com/xss-in-vue-js/
在vue.js等前端框架中注入HTML
在vue2.x中是通过
v-html
指令实现注入html对应的vue1.x中是
{{{}}}
如何在Vue中模拟XSS攻击
我们使用v-html指令模拟一个简单的XSS攻击
我们期望会出现一个弹框显示cookie,但是什么也没有发生。
实际上是浏览器在浏览器加载页面的时候阻止了注入脚本。
我们试下通过把脚本注入HTML标签的事件中
在codepen中查看
让我们再试一下XSS攻击中常用的使用img标签攻击的方式
这个也是可以的
由于img的src属性不是一个有效的地址,所以onerror事件会触发
如何对待v-html指令
我们可以看出,使用v-html可能会导致恶意脚本注入我们的页面,那么,
在使用这些MVVM框架的时候,也要尽量小心使用类似v-html这样的指令
就像vue官网提醒的那样
{{}}
,它会把要显示的内容转为字符串。Refference
XSS in Vue.js
The text was updated successfully, but these errors were encountered: