前端的安全 CXRF、XSS、sql注入

1.1、CXRF

CSRF概念:

CSRF跨站点请求伪造(Cross—Site Request Forgery),存在巨大的危害性,你可以这样来理解:
​ 攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。 如下:其中Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户

1.2、CSRF攻击攻击原理及过程如下:
  • 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A
  • 在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A
  • 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B
  • 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A
目前防御 CSRF 攻击主要有2种策略:验证 HTTP Referer 字段;在请求地址中添加 token 并验证

2、XSS

XSS概念:

XSS, 即为(Cross Site Scripting), 中文名为跨站脚本, 是发生在目标用户的浏览器层面上的,当渲染DOM树的过程成发生了不在预期内XSS(Cross Site Scripting),跨站脚本攻击,是一种允许攻击者在另外一个用户的浏览器中执行恶意代码脚本的脚本注入式攻击。本来缩小应该是CSS,但为了和层叠样式(Cascading Style Sheet,CSS)有所区分,故称XSS执行的JS代码时,就发生了XSS攻击

2.1、持续型XSS攻击:恶意脚本来源于网站的数据库
  • 攻击者通过评论表单提交将alert(‘aaa’)提交到网站
  • 网站后端对提交的评论数据不做任何操作,直接存储到数据库中
  • 其他用户访问正常访问网站,并且需要请求网站的评论数据
  • 网站后端会从数据库中取出数据,直接返回给用户
  • 用户得到页面后,直接运行攻击者提交的代码`,所有用户都会在网页中弹出aaa的弹窗
2.2 、反射型XSS攻击:恶意脚本来源于受害者的请求

在一个反射型XSS攻击中,恶意文本属于受害者发送给网站的请求中的一部分。随后网站又把恶意文本包含进用于响应用户的返回页面中,发还给用户。

  • 用户误点开了带攻击的url :http://xxx?keyword=alert('aaa')
  • 网站给受害者的返回中包含了来自URL的的恶意文本
  • 用户的浏览器收到文本后执行页面,会在网页中弹窗aaa
2.3、如何防止攻击

XSS攻击其实就是代码的注入。用户的输入被编译成恶意的程序代码。所以,为了防范这一类代码的注入,需要确保用户输入的安全性。对于攻击验证,我们可以采用以下两种措施:

  • 编码,就是转义用户的输入,把用户的输入解读为数据而不是代码
  • 校验,对用户的输入及请求都进行过滤检查,如对特殊字符进行过滤,设置输入域的匹配规则等
3、SQL注入

SQL注入就是一种通过操作输入来修改后台SQL语句达到代码执行进行攻击目的的技术

前端数据传输安全

  • hash加密:md5 sha256
  • 对称加密: AES ,DES
  • 非对称加密:生成一对钥匙,公钥,私钥。 公钥是由私钥生成的

你可能感兴趣的:(前端的安全 CXRF、XSS、sql注入)