博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面试--web安全的理解
阅读量:6944 次
发布时间:2019-06-27

本文共 1570 字,大约阅读时间需要 5 分钟。

web前端安全主要会涉及以下几种

xss

xss cross-site scripting跨域脚本攻击

它允许恶意web用户将代码植入到提供给其它用户使用的页面中。其实在web前端方面,可以简单的理解为一种javascript代码注入。

XSS攻击分为三种,分别是:

  1. Reflected XSS(基于反射的XSS攻击)
  2. Stored XSS(基于存储的XSS攻击)
  3. DOM-based or local XSS(基于DOM或本地的XSS攻击)

Reflected XSS(基于反射的XSS攻击)

这种攻击主要依靠 站点服务端 返回脚本,在客户端 触发执行 从而发起Web攻击。

攻击的例子
1、当你在亚马逊 搜索图书的时候 搜不到书的时候显示提交的名称
2、在搜索框搜索内容,填入“<script>alert('handsome boy')</script>”, 点击搜索
3、如果前端页面没有对 返回的数据进行处理 就会直接弹出alert
也就是直接执行了用户在搜索框里边的脚本
4、 进而可以构造获取用户cookies的地址,通过QQ群或者垃圾邮件,
防御这种攻击的两种方法:
1、前端页面显示服务器端返回来的数据的时候 不仅是标签内容需要过滤、转义,就连属性值也都可能需要。让服
务器返回来的非法js脚本 没有办法到达前端的浏览器
2、后端接收请求时,验证请求是否为攻击请求,攻击则屏蔽。

Stored XSS(基于存储的XSS攻击)

这种攻击常见于论坛中 比如说有一个人发表了一篇文章为

今天天气不错啊!

后端没有对文章进行过滤,直接保存文章内容到数据库。每一个读这篇文章的人都会 被弹出alert

防御这种攻击的两种方法:
1、服务器在存储文章的时候对文章的内容要进行过滤。

  1. 当服务端不校验时候,前端要以各种方式过滤里面可能的恶意脚本,例如script标签,将特殊字符转换成HTML编码。
    XSS攻击的特点就是:尽一切办法在目标网站上执行非目标网站上原有的脚本(某篇文章说的)。本地的XSS攻击的示例2其实不算XSS攻击,只是简单流量劫持。前两种XSS攻击是我们开发时候要注意的,而流量劫持的则可以使用HTTPS提高安全性,。

1、避免使用eval New Function等执行字符串的方法 除非确定这个字符串和用户的输入没有关系

2、过滤前端的输入和输出
3、使用cookie的httpOnly属性 加上这个属性的cookie字段 js是无法读取的
4、使用innerHTML document.wirte的数据的时候 如果数据是用户输入的时候 需要对关键字进行过滤与转移

cors Cross-site request forgery跨站请求伪造

网站的一些提交行为被黑客利用 在你访问黑客网站的时候进行的操作的时候 会被操作到其他网站

你在开发一个购买商品的操作

黑客网站

当每次有人访问黑客网站的时候 就相当于给你执行了一次提交

防御corf
1、检测http referer 是否是同域名
2、避免登录的session 长时间的存储在客户端中
还有其他的一些攻击
http劫持 饭店的wifi登录了以后可以拿到你的所有的收发的数据 https加密

面对以上的攻击可以

开发时要提防用户产生的内容,要对用户输入的信息进行层层检测

要注意对用户的输出内容进行过滤(进行转义等)
重要的内容记得要加密传输(无论是利用https也好,自己加密也好)
get请求与post请求,要严格遵守规范,不要混用,不要将一些危险的提交使用jsonp完成。
对于URL上携带的信息,要谨慎使用。
心中时刻记着,自己的网站哪里可能有危险。

转载地址:http://branl.baihongyu.com/

你可能感兴趣的文章
安装你的第一台SQL 2008 Server
查看>>
Java NIO简易聊天室(二)
查看>>
Spring AOP 使用场景
查看>>
双十一,咪蒙广告位为何供不应求?
查看>>
[Thinking in java ]之控制执行(Controlling Execution)(一)
查看>>
七个不容易被发现的生成对抗网络(GAN)用例
查看>>
我的友情链接
查看>>
笔记:ubuntu 12.04 apche2.22与ServerTokens、ServerSignature
查看>>
19. Gradle打印调试日志
查看>>
C 语言-- 原型设计模式
查看>>
将 Outlook 文件夹结构复制到其他计算机
查看>>
设计模式之结构型模式—— 2.4 组合模式
查看>>
应用程序框架实战十:开发环境准备与学习资料清单
查看>>
Citrix VDI-in-a-Box 第二篇:架构篇
查看>>
数据恢复工程师教你用 python解释NTFS runlist的代码
查看>>
如何卸载SQL2005故障转移群集
查看>>
网络工程师实训-RHCA 视频教程
查看>>
linux下配置DRBD
查看>>
企业如何“创新”
查看>>
使用Promise获取用户信息
查看>>