zoukankan      html  css  js  c++  java
  • 常见的WEB安全及防护

    CIA知道么 ?

    • 机密性(Confidentiality)
    • 完整性(Integrity)
    • 可用性(Availiability)

    常见的web攻击有 XSS ,CSRF;

    xss 到底是什么 ?

      黑客在你的浏览器中插入一段恶意JS脚本,窃取你的隐私信息【这里泛指cookie登录信息】,冒充你的身份进行操作,这就是XSS攻击(Cross-Site-Scripting,跨站脚本攻击)。补充一下,为什么不叫CSS,是因为CSS是重叠样式,为了有所区别,即XSS。

    XSS的类型有哪些 ?

    1. 发射型XSS(非持久型)
    2. 基于DOM的XSS
    3. 存储型XSS(持久性)
    • 反射型

        恶意JS脚本属于用户发送给网站请求中的一部分,随后网站又将这些部分返回给用户,恶意脚本在页面中被执行,一般发生在前后端一体的应用中,服务端逻辑会改变最终的网页代码。

    • 基于DOM型

        目前更流行前后端分离的项目,反射型XSS无用武之地,但这种攻击不需要经过服务器,网页本身的JS也是可以改变HTML,黑客正是利用这一点来实现的插入恶意脚本。

    • 存储型

        持久型XSS,黑客将恶意JS脚本长期保存在服务端数据库,用户一旦访问相关页面数据,恶意脚本就会被执行,常见于搜索,微博,社区贴吧评论等。

    XSS攻击的结果是什么 ?

    1.  盗取用户cookie
    2. 未授权操作
    3. 修改DOM
    4. 刷浮窗广告
    5. 发动XSS蠕虫攻击
    6. 劫持用户行为,进一步渗透内网  

     如何防护XSS攻击:

    • 一切用户输入皆不可信,在输出时进行验证
    • 将HTML元素内容,属性以及URL请求参数,css值编码
    • 当编码影响业务时,使用白名单规则进行检测和过滤
    • 使用W3C提出的CSP(内容安全策略),定义域名白名单
    • 设置cookie的httpOnly属性

    CSRF攻击是什么 ?

       英文全称是Cross-Site-Request-Forgery 即 跨站请求伪造,顾名思义 CSRF攻击就是黑客引诱用户打开黑客的网站,利用用户的登录状态发起跨站请求。

       降维解释: 攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求,利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户被攻击的网站执行某项操作的目的。

    CSRF攻击的实现方式:

    • 最容易实现的是GET请求,一般进入黑客网站后,可以通过设置 img 的 src属性来自动发起请求。
    • 在黑客网站中,构造隐藏表单来自动发起POST请求。
    • 通过引诱链接诱惑用户点击触发请求,利用 a 标签 href。

    如何防范CSRF攻击:

    • 针对实际情况,设置 Cookie 的 SameSite 属性为 Strict 或 Lax。
    • 服务端验证请求来源(Referer,Origin)。
    • 使用CSRF Token ,服务端随机生成返回给浏览器的Token。
    • 加入二次验证(独立的支付密码)。

    CSRF 与 XSS 有什么区别:

       CSRF攻击不需要将恶意代码注入用户页面,仅仅是利用服务端的漏洞, 和用户的登录状态来实施攻击。

       CSRF攻击成本比XSS低,用户每天都要访问大量网页,无法确定每一个网页的合法性,从用户的角度来说,无法彻底防止CSRF攻击。

    最后说两个加密算法:

    • 对称加密算法

        对称加密算法就是加密和解密使用同一个秘钥,简单粗暴。

        常见经典对称加密算法有 DES,AES,IDEA,国密 SM1,国密SM4。

    • 非对称加密算法

        非对称加密就是加密和解密使用不同的秘钥,发送方使用公钥对信息加密,接收方收到密文后,使用私钥解密,主要解决了密钥分发的难题。

        签名就是私钥加密

        经典非对称加密算法有 RSA,ECC和SM2。

     

  • 相关阅读:
    用Sqoop进行Hive和MySQL之间的数据互导
    Spark读HBase写MySQL
    Kafka如何彻底删除topic及数据
    LDAP-HA安装与配置(Keepalived方式实现)
    配置两个Hadoop集群Kerberos认证跨域互信
    MYSQL HA 部署手册
    ELK简单安装测试
    Elasticsearch CURL命令
    大数据常见错误解决方案(转载)
    生成 RSA 公钥和私钥的方法
  • 原文地址:https://www.cnblogs.com/strivegys/p/12772610.html
Copyright © 2011-2022 走看看