2020-12-30

web 安全

跨站脚本攻击XSS
简介

Cross-Site Scripting(跨站脚本攻击)简称 XSS,是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行。利用这些恶意脚本,攻击者可获取用户的敏感信息如 Cookie、SessionID 等,进而危害数据安全。

原理在这里插入图片描述
危害
  • 获取页面数据
  • 获取cookie
  • 改变页面逻辑
  • 发送请求
  • 获取用户数据 获取用户登录态
分类
类型位置危害
存储型URL
反射型后端数据库
反射型

http://xxx/search?keyword=

使用短网址伪装

存储型

textarea 直接输入脚本

XSS攻击注入点
  • HTML节点内容
  • HTML属性
  • js代码
  • 富文本
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
防御

浏览器自动拦截 X-XSS-Protection
X-XSS-Protection
顾名思义,这个响应头是用来防范XSS的。最早我是在介绍IE8的文章里看到这个,现在主流浏览器都支持,并且默认都开启了XSS保护,用这个header可以关闭它。它有几种配置:

0:禁用XSS保护;
1:启用XSS保护;
1; mode=block:启用XSS保护,并在检查到XSS攻击时,停止渲染页面(例如IE8中,检查到攻击时,整个页面会被一个#替换);
浏览器提供的XSS保护机制并不完美,但是开启后仍然可以提升攻击难度,总之没有特别的理由,不要关闭它。

PHP设置

header(“X-XSS-Protection: 1”);

function htmlEscape(text) {
    return text.replace(/[<>"&]/g, function(match, pos, originalText) {
      switch (match) {
        case "<":
          return "&lt;";
        case ">":
          return "&gt;";
        case "&":
          return "&amp;";
        case "\"":
          return "&quot;";
      }
    });
  }

json.Stringify()
富文本
白名单 黑名单 cheerio xss
CSP 内容安全策略

跨站请求伪造攻击CSRF
前端cookies安全性
点击劫持
传输安全
SQL注入攻击
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值