美文网首页
web 安全

web 安全

作者: 弹力盒 | 来源:发表于2021-07-30 10:31 被阅读0次

一、跨站脚本攻击—XSS

  • 1、XSS - 简介

XSS 是跨站脚本攻击(Cross Site Scripting)的简写,但是从首写字母命名的方式来看,应该取名 CSS,但这样就和层叠样式表(Cascading Style Sheets,CSS)重名了,所以取名为 XSS

XSS 攻击,一般是指攻击者通过在网页中注入恶意脚本,当用户浏览网页时,恶意脚本执行,控制用户浏览器行为的一种攻击方式

  • 2、XSS - 危害
    a. 窃取用户Cookie,获取用户隐私,盗取用户账号
    b. 劫持用户(浏览器)会话,从而执行任意操作,例如进行非法转账、强制发表日志、发送电子邮件等
    c. 强制弹出广告页面,刷流量等
    d. 传播跨站脚本蠕虫,网页挂马等
    e. 结合其他漏洞,如 CSRF 漏洞,实施进一步的攻击

  • 3、XSS - 分类

XSS 攻击按是否把攻击数据存进服务器端,攻击行为是否伴随着攻击数据一直存在,可分为 非持久型 XSS 攻击 和 持久型 XSS 攻击

XSS 攻击按攻击方式又可分为 反射型 XSS、DOM 型 XSS、存储型 XSS,其中 反射型 XSS 和 DOM 型 XSS 算是 非持久型 XSS 攻击,而 存储型 XSS 算是 持久型 XSS 攻击

  • a、反射型 XSS(Reflected XSS)
    攻击者诱导用户访问一个带有恶意代码的 URL 后,服务器端接收数据后处理,然后把带有恶意代码的数据发送到浏览器端,浏览器端解析这段带有 XSS 代码的数据后当做脚本执行,最终完成 XSS 攻击。因为这个过程就像一次反射,故称为反射型 XSS
    攻击步骤:
  1. 攻击构造出特殊的 URL ,其中包含恶意代码
  2. 用户被诱导打开带有恶意代码的 URL,服务器端将恶意代码从 URL 中取出当做参数处理,然后返回给用户带有恶意代码的数据
  3. 用户浏览器接收到响应解析执行,混在其中的恶意代码也被执行
  4. 恶意代码窃取用户敏感数据发送给攻击者,或者冒充用户的行为,调用目标网站接口执行攻击者指定的操作
  • b、DOM 型 XSS(DOM-based XSS)
    DOM 型 XSS 形成原因是通过修改页面的 DOM 节点形成的 XSS。
    DOM 型 XSS 攻击中,取出和执行恶意代码都由浏览器端完成,属于前端自身的安全漏洞
    攻击步骤
  1. 攻击者构造出特殊的 URL,其中包含恶意代码
  2. 用户被诱导打开带有恶意代码的 URL
  3. 用户浏览器接收到响应后解析执行,前端 JavaScript 取出 URL 中的恶意代码并执行
  4. 恶意代码窃取用户数据并发送到攻击者的网站,或者冒充用户的行为,调用目标网站接口执行攻击者指定的操作
  • c、存储型 XSS(Stored XSS)
    存储型 XSS 跟 反射型 XSS 的区别是:存储型 XSS 的恶意代码存在服务器上,反射型 XSS 的恶意代码存在 URL 里
    存储型 XSS 攻击时恶意脚本会存储在目标服务器上。当浏览器请求数据时,脚本从服务器传回并执行。它是最危险的一种跨站脚本,比反射性 XSS 和 DOM 型 XSS 都更有隐蔽性,因为它不需要用户手动触发。任何允许用户存储数据的 Web 程序都可能存在存储型 XSS 漏洞。若某个页面遭受存储型 XSS 攻击,所有访问该页面的用户都会被 XSS 攻击

攻击步骤:

  1. 攻击者把恶意代码提交到目标网站的服务器中
  2. 用户打开目标网站,网站服务器端把带有恶意代码的数据取出,当做正常数据返回给用户
  3. 用户浏览器接收到响应解析执行,混在其中的恶意代码也被执行
  4. 恶意代码窃取用户敏感数据发送给攻击者,或者冒充用户的行为,调用目标网站接口执行攻击者指定的操作

二、防御方法

  • 1、浏览器自带防御
    这种浏览器自带的防御功能只对反射型 XSS 有一定的防御力,其原理是检查 URL 和 DOM 中元素的相关性,但这并不能完全防止反射型 XSS,而且也并不是所有浏览器都支持 X-XSS-Protection

  • 2、转义
    在 XSS 攻击中,攻击者主要是通过构造特殊字符来注入脚本,所以对用户的输入进行检测就很有必要,并且需要在客户端与服务端都进行输入检测,然后对用户输入的数据进行转义

主要就是对输入所包含的特殊字符进行转义,如 <,>,&,",’,来防止 XSS 攻击

相关文章

  • web安全

    1、初步认识web安全:` - 安全与安全圈 - web应用与web安全的发展 - web安全隐患与本质...

  • 小猿圈Web安全性测试介绍

    相信大家对于Web安全很陌生,现在很多人对于web安全更是没有听过,那么你知道web安全吗?那么你知道Web安全性...

  • web安全测试文章

    Web安全测试漏洞场景 web安全性测试用例 验证码的测试用例分析 WEB安全测试的类型 Web安全测试中常见逻辑...

  • web安全(web应用安全)

    摘自极客学院 甲方和乙方: 甲方:腾讯阿里等,需要安全服务的公司 乙方:提供安全服务、产品而服务型安全公司(绿盟、...

  • web前端安全的攻与防

    一、什么是web安全? web安全,也叫web应用安全,《白帽子讲Web安全》一书中第一章最后有这么一句话讲的很好...

  • 小猿圈解析Web安全之如何制定学习计划

    去年开始web安全热度逐渐上升,web安全工程师成为炙手可热的人才之一,web安全的火热造成了很多朋友都在自学,但...

  • 浏览器安全

    浏览器安全可以分为三大块——Web 页面安全、浏览器网络安全和浏览器系统安全 Web 页面安全 为确保页面安全,浏...

  • web安全

    XSS 是什么?如何防范 CSRF是什么?如何防范

  • web安全

  • Web安全

    发布自Kindem的博客,欢迎大家转载,但是要注意注明出处。另外,该文章收纳在Kindem的个人的 IT 知识整理...

网友评论

      本文标题:web 安全

      本文链接:https://www.haomeiwen.com/subject/zfuypltx.html