安基网 欢乐生肖 安全 渗透测试 查看内容

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

2019-10-31 10:16| 投稿: |来自:


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 今天主要给大家分享一下web安全这方面的知识点,对于一个web从业者来讲,不得不说这是一个非常有份量的课题,近几年网络上频繁出现,相关安全的危害问题,所有以今天主要是总结一下web相关的安全攻防知识点,希望对看到本 ...

今天主要给大家分享一下web安全这方面的知识点,对于一个web从业者来讲,不得不说这是一个非常有份量的课题,近几年网络上频繁出现,相关安全的危害问题,所有以今天主要是总结一下web相关的安全攻防知识点,希望对看到本篇文章的你有所帮助.

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

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

一、XXS


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

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

非持久型 XSS

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


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

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

漏洞攻击的几点特征:

  1. 即时性,可以不经过服务器存储,直接通过 HTTP 的 GET 和 POST 请求就能完成一次攻击,获取到用户隐私数据
  2. 触发时需要诱骗点击链接
  3. 反馈率低,所以较难发现和响应修复
  4. 盗取用户敏感保密信息

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

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- alert888(+ACI-xss+ACI-) +ADw-/script+AD4-

防止方法:

1.记住指定

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

网址跳转 XSS

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

防止方法:

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

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

总结:

以上为本期web安全分享内容,主要是讲解XSS常用攻防技巧,如有相关兴趣有困扰的小伙伴们可以进行技术交流,下期分享,请关注我,关注更多web安全相关内容!

注:把文中的alert888中的888去掉即可演示。



小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/i6752773380375757320/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

相关阅读

最新评论

 最新
返回顶部
幸运赛车 幸运飞艇官网 上海时时乐 内蒙古快三走势图 秒速快3 财神汇彩票计划群 幸运飞艇官网 幸运飞艇官网 秒速时时彩 荣鼎彩手机app下载