公众号
关注微信公众号
移动端
创头条企服版APP

广州前端学习培训:常见安全攻击及防御技巧系列

4268

广州前端学习培训:常见安全攻击及防御技巧系列,下面和千锋广州小编一起来看看吧。

本文主要内容是分析几种常见攻击类型及防御的手法,如果你对相关安全问题有所了解,那么主要还是让编码设计的过程中时时刻刻相到这一点,在实现相关存在安全问题的代码块时,进行反复测试每一个细节,防范于未然。

前端.jpg

先来了解一下常见的web安全攻防操作吧!

一、XXS

首先说一下最常见的XSS: XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容

XSS 的原理是恶意攻击者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而可以达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的。XSS 的攻击方式千变万化,但还是可以大致细分为几种类型。

非持久型 XSS

非持久型 XSS 漏洞,也叫反射型 XSS 漏洞,一般是通过给别人发送带有恶意脚本代码参数的 URL,当 URL 地址被打开时,特有的恶意代码参数被 HTML 解析、执行。

WEB前端常见安全攻击及防御技巧系列(一)

例如:你的 Web 页面中包含有以下代码:

攻击者可以直接通过类似以下的 URL http://www.xxx.com/xx.php?default= 注入可执行的脚本代码

漏洞攻击的几点特征:

即时性,可以不经过服务器存储,直接通过 HTTP 的 GET 和 POST 请求就能完成一次攻击,获取到用户隐私数据

触发时需要诱骗点击链接

反馈率低,所以较难发现和响应修复

盗取用户敏感保密信息

防止漏洞攻击必做以下几个操作:

1 . 所有web中的数据都通过服务器端操作。

2 . 尽量避免通过 url,document.referrer,document.forms 等获取数据直接进行渲染操作。

3 . 避免使用 eval, new Function(),document.write(),document.writeln(),window.setInterval(),window.setTimeout(),

innerHTML,document.creteElement() 等可以执行字符串的操作方法。

4 . 如果避免不了,可以对获取到的重要字符串数据进行escape 转义编码操作。目的是为了把特殊符号换成转义字符,让相应的代码执行不了

持久型 XSS

持久型 XSS 漏洞,也被称为存储型 XSS 漏洞,一般存在于 Form 表单提交等交互功能,如发帖留言,提交文本信息等,攻击者利用的 XSS 漏洞,将恶意代码经正常功能提交进入数据库持久保存起来,当前端页面获得后端从数据库中读出的注入代码时,正好将有恶意的代码渲染执行了。

其操作方式和非持久型 XSS 漏洞类似,只不过持久型是来源于后端从数据库中读出来的数据。

此攻击需要同时满足以下几个条件:

1.POST提交表单后端没做转义直接存入数据库。

2.后端取出数据直接输出给前端。

3.前端获取后端的数据没做转义直接渲染成DOM。

持久型 XSS 有以下几个特点 :

1.持久性比较强

2.危害面广

3.盗取用户敏感私密信息

防止办法:

为了防止持久性漏洞,需要前后端共同努力,后端在入库数据时,尽量把所有的数据进行转义处理,输出给前端的数据也需要进行转义处理,当然前端也需要在输出时需要把渲染数据转义

字符集的 XSS

由于浏览器对网页中设置的字符集解析不一致,可以使用写相关解析规则,或绕过相关规则来实现注入的操作,这叫基于字符集的XSS

如:

UTF-7 是可以将所有的 unicode 通过 7bit 来表示的一种字符集。早期多数被利用在邮件环境当中,但现在已经从 Unicode 规格中移除。这个字符集为了通过 7bit 来表示所有的文字, 除去数字和一部分的符号,其它的部分将都以 base64 编码为基础的方式呈现

HTML代码

我了个去哦

用UTF-7表示为:

+ADw-div+AD4- +YhFOhk4qU7v/AQ- +Adw-/div+AD4

同样的,来看一下js吧

用UTF-7表示为:

+ADw-script+AD4- alert(+ACI-xss+ACI-) +ADw-/script+AD4-

防止方法:

1.记住指定

2.XML 中不仅要指定字符集为 utf-8,而且标签要闭合

网址跳转 XSS

在有一些特定的场景中,后端会使用url的302定向操作,把当前的网页使用302定向到其它页面url上进行跳转,如果当前被定向的页面url正好带有用户隐私信息,可能会被恶意者利用,进行恶意跳转网页

防止方法:

1.对待跳转的 url加入白名单或者设置指定规则来进行过滤

2后端注意对敏感信息的保护, 比如 cookie 使用来源验证。

如果你对前端开发感兴趣,可以来千锋广州校区免费试听,开启你的编程之旅。

声明:该文章版权归原作者所有,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系。
您阅读这篇文章花了0
转发这篇文章只需要1秒钟
喜欢这篇 2
评论一下 0
相关文章
评论
试试以这些内容开始评论吧
登录后发表评论
阿里云创新中心
×
#热门搜索#
精选双创服务
历史搜索 清空

Tel:18514777506

关注微信公众号

创头条企服版APP