什么是XSS攻击

1.什么是 XSS 攻击

跨站脚本攻击(Cross Site Scipting) 本来是缩写为 css 但是和 层叠样式表 css 重叠了 所以脚本攻击缩写为 XSS

跨站脚本攻击的实质就是 攻击者在 web 页面中插入恶意的 script 代码 这个代码 可以是 js 脚本 css 样式 或者其他意料之外的代码 当用户浏览该页面时 就会被嵌入其中的 script 代码被执行 从而达到恶意攻击用户的目的 比如 读取 cookie session tokens 或者其他敏感的网站信息 对用户进行钓鱼

2.XSS 攻击的危害

  • 通过 document.cookie 盗取 cookie 中的信息
  • 使用 js 或 css 破坏页面的正常结构和样式
  • 流量劫持 通过 window.location.href 定位到其他页面
  • dos 攻击 利用客户端占用过多的服务器资源 从而让用户无法得到服务器响应
  • 利用 iframe 、 frame 、XMLHttpRequest Flash 等方式
    利用被攻击用户的身份进行一些管理动作 发微博 加好友 发私信
  • 控制企业数据 包含读取 篡改 添加删除 企业敏感数据的能力

3.攻击方式

  • 3.1 反射型 XSS 攻击

通过 url 传递参数的功能
在用户进行网站搜索 跳转等
需要用户主动打开恶意的 url 才能生效
攻击者往往会结合多种诱导手段来诱导用户点击

  • 3.2 存储型 XSS 攻击

恶意脚本永久存储在目标服务器上 当浏览器请求数据的时候 脚本从服务器传回并执行 影响范围比反射型和 dom 型 XSS 更大
常常冒充用户行为 调用目标接口执行攻击者的操作 如 发帖 商品评论 用户私信等

  • 3.3 DOM 型 XSS

DOM 型 XSS 攻击 实际上 就是 前端 javascript 代码不够严谨 把不可信的内容插入到页面上 在使用

innerHTML outerHTML appendChild document.write() 等操作要小心 不要把不可信的数据插入到页面上

攻击者制造特殊数据 恶意窃取用户数据 冒充用户行为 取出和执行恶意代码有浏览器端完成 属于前端 JavaScript 自身的安全漏洞

防范策略

  • 使用 HTTP-only cookie :禁止 Javascipt 读取某些敏感 cookie
  • 在服务器端设置
    Content-Security-Policy 头部来指定策略
  • 或者在前端设置 meta 标签
Content-Security-Policy:default-src 'self'`请输入代码`

<meta http-equiv="Content-Security-Policy" content="form-action 'self';">
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值