zl程序教程

您现在的位置是:首页 >  前端

当前栏目

《WEB安全渗透测试》(19)Vue.js中的XSS攻击

2023-09-11 14:17:08 时间

1.前言

Vue是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。它的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合;另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用(SPA)提供驱动。

Vue当下很火,但是鲜有人知Vue写法不当,很容易出现XSS漏洞。

2.Vue漏洞复现

Vue.js中数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值:{ { message }},但是双大括号会将数据解释为普通文本,而非 HTML 代码,有的时候需要输出真正的 HTML,就需要使用 v-html 指令。

如下代码:

<!DOCTYPE html>
<html>
<head> 
	<meta charset="utf-8"> 
	<title>index</title>
	<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
	{
  { message }}
	<hr>
	<span v-html="attack"></span>
</div>

<