前端开发常见的安全性处理

一:XSS跨站脚本攻击

  (1)恶意攻击者向WBE页面插入恶意代码(html标签,javascript代码),使用户在浏览网页时,html恶意代码被执行,从而达到盗取用户的cookie信息,会话劫持等行为。

  (2)类别

    1.DOM xss:文本对象模型,使得DOM可以直接允许程序和脚本动态的访问和更新文档的内容,结构和样式。不需要服务器解析响应的直接参与,触发XSS靠的是浏览器端的DOM解析,可以完全认为这是浏览器的事情。

    2.反射型xss:反射型XSS也被称为非持久性的XSS,是现在最容易出现的一种XSS漏洞。发出请求时,XSS代码出现在URL中,最后输入提交到服务器,服务器解析后在响应内容中出现这段XSS代码,最后浏览器解析执行。

    3.存储型xss:存储型的XSS也被称为持久性XSS,他是最危险的一种跨站脚本攻击,相比反射型XSS和DOM型XSS具有更高的隐蔽性,所以危害大,他不需要用户手动触发,当攻击者提交一段XSS代码后,被服务器接收并存储起来,当所有浏览器访问某个页面时都会被XSS,其中最典型的例子就是留言板。

  (3)危害

    1.利用虚假输入表单盗取用户信息

    2.利用脚本窃取用户的cookie值。

 

  (4)防御措施

    1.在cookie中设置HttpOnly属性,使js脚本无法读取到cookie信息。(后台设置)

    2.避免使用eval执行字符串

    3.表达输入经行验证,过滤标签,以及转义字符。

 二:跨站伪造请求

  (1)原理:通过用户访问网站A时所保存的cookie信息,然后再没退出网站A的情况下跳转到网站B,那么就会将cookie信息携带到网站B,然后A就会认为是它自身在本网站访问自己的假象。典型的案例就是转账。

  (2)本质:CSRF攻击是攻击者利用用户身份操作用户账号的一种攻击方式。  

  (3)解决方法:

    1.验证码:跨站转账的情况下建议在转账之前开设验证码。

    2.Referer Check :利用HTTP请求头中的Referer字段来检测当前请求页面的来源页面的地址是否合法。

      优点:在最后给所有安全敏感的请求统一添加一个拦截器来检查Referer的值。

      缺点:服务器并不是什么时候都设置Referer字段,例如:出于保护用户隐私的考虑,会限制Referer的发送,HTTPS转到HTTP,出于安全考虑,浏览器不会发送Referer。

    3.在url增加一个token参数作为随机数。

      优点:比Referer方便,同时让攻击者无法再构造出一个完整的url实施CSRF攻击。

      缺点:要给每一个url添加一个字段。

      注意:token必须是足够安全的随机数算法,可以存放在session,和cookie中。尽量放在表单中,以post方式发送请求。

 

三:点击劫持

  (1)点击劫持是一种视觉上的欺骗手段,攻击者使用一个透明的不可见的iframe,覆盖在一个页面上,然后通过调整页面使刚刚好覆盖在某个按钮上,然后点击触发事件,跳转到攻击者设置的页面上。

  (2)解决方法:X-Frame-Options

    X-Frame-Options HTTP响应头是用来给浏览器指示允许一个页面能否在<iframe>,<frame>,<objcet>中展示的标记。

  (3)可选值

    1.DENY:浏览器拒绝当前页面加载任何frame页面。即使是相同域名的页面也不允许。

    2.SAMEORIGIN:允许加载frame页面,但是frame页面的地址只能为同源域名下的页面

    3.ALLOW-FROM:可以加载指定来源的frame页面。

    

 

转载于:https://www.cnblogs.com/MJ-MY/p/11303196.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值