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

99 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第11天
我将从以下几点去分享对于观看完“Web开发的安全之旅”相关课程的收获,同时也分享一下自己学习的一些重要的知识点:

  1. Web的攻击有什么类型?
  2. 如何防御这些攻击?

首先,我们常见的Web攻击包括以下几种方式:

  1. XSS
  2. SQL注入
  3. DDOS
  4. CSRF

先来讲讲XSS。跨站脚本攻击(Cross-Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。XSS是一种常见的web安全漏洞,它允许攻击者将恶意代码植入到提供给其它用户使用的页面中。不同于大多数攻击(一般只涉及攻击者和受害者),XSS涉及到三方,即攻击者、客户端与Web应用。XSS的攻击目标是为了盗取存储在客户端的cookie或者其他网站用于识别客户端身份的敏感信息。一旦获取到合法用户的信息后,攻击者甚至可以假冒合法用户与网站进行交互。

那么我们该如何预防这种攻击呢?很简单,坚决不让用户进行任何输入,并过滤掉输入中的所有特殊字符。

接下来是SQL注入。攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变。

那么这种情况该如何预防呢?在发布之前可以使用专业的SQL注入检测工具进行检测,及时修补注入漏洞。

有关于DDOS攻击,相信大家并不陌生。分布式拒绝服务攻击(Distributed Denial of Service),简单说就是发送大量请求使服务器瘫痪。

这样的情况我们如何预防呢?DDOS的防御产品的核心就是检测技术和清洗技术。

最后,是CSRF。CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。

这种情况的话,我们可以这样去预防:通过hash加密cookie中的token的值即可。

以上则是我个人的一点学习心得,欢迎各位优秀的开发者批评指正!