Web 开发的安全之旅 | 青训营笔记

63 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第1天

  • XSS

    概述:xss攻击的本质就是盲目信任用户输入的数据,不进行过滤的情况下字符串作视为代码任意执行

    危害等级:xss的危害根据其渗透的程度分为三种

    • 恶意代码被写入服务器数据库
    • 恶意代码被服务器运行
    • 恶意代码在客户端上运行

防御:对用户的输入数据不完全的信任,主流框架都自带xss防御,对用户的输入数据进行检查。

  • CSRF

    概述:跨站攻击,恶意的第三方网站欺骗用户触发对目标网站的请求,利用用户的cookie让目标网站识别为用户的操作。

    防御:浏览器的同源策略下,服务器正确的跨域配置,可以防御绝大部分的csrf攻击,为了防止第三方cookie伪造可以对cookie的SameSite属性进行配置。

  • SQL 注入

    概述:和xss有点类似,盲目信任输入的数据,针对对数据库的操作,将原本作为字符串的值在数据库中作为sql语句执行

     防御:很多服务端操作数据库的库都会自带对sql注入的防御,常见的占位符,将指定数据只视为字符串,就比如npm中的mysql包的官网提到会自动对sql占位符数据进行相关处理。

  • SSRF

    概述:欺骗服务器发起恶意的url请求

  • DoS

    Dos是一个概念,攻击者发起攻击使得目标服务器无法正常提供服务器从而拒绝服务

    ddos是dos一种,攻击者对服务器发起大量以消耗目标服务器资源为目虚假ip请求,使得目标服务器无法为正常请求服务器,常见于http握手。

    防御:ddos无脑的对服务器流量攻击需要一些专门的技术对请求进行过滤等操作,负载均衡,api网关,cdn等

  • 中间人攻击

    概念:(个人理解)在客户端和服务端之间,监控双方的http通信的信息交互,并可能做出篡改

    防御:使用https协议,使得客户端和服务器之间的通信加密,无法被第三方数据劫持