前端安全(前端攻击)

前端安全

一、跨站脚本攻击(XSS攻击)

通常指黑客通过“HTML注入”篡改了网页,插入了恶意的脚本,从而在用户浏览网页时,控制用户浏览器的一种攻击。

XSS的分类

1、反射型

原理:反射型XSS,也叫非持久型XSS,是指发生请求时,XSS代码出现在请求URL中,作为参数提交到服务器,服务器解析并响应。响应结果中包含XSS代码,最后浏览器解析并执行。

实现:攻击者通过给用户发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。

2、存储型

原理:一般是攻击者输入的恶意代码“存储”在服务器端,主要是将XSS代码发送到服务器,不管是数据库、内存还是文件系统等。只要受害者浏览包含此恶意代码的页面就会执行恶意代码。

实现:存储型 XSS 一般出现在网站留言、评论、博客日志等交互处。例如:黑客提交了一条包含XSS代码的留言到数据库。当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来。浏览器发现有XSS代码,就当做正常的HTML和JS解析执行。XSS攻击就发生了。

XSS的防御

浏览器禁止页面的Javascript访问带有HttpOnly属性的cookie。(实质解决的是:XSS后的cookie劫持攻击)如今已成为一种“标准”的做法
输入检查(XSS Filter)让一些基于特殊字符的攻击失效。(常见的Web漏洞如XSS、SQLInjection等,都要求攻击者构造一些特殊字符)
输出检查在变量输出到HTML页面时,使用编码或转义的方式来防御XSS攻击

二、跨站请求伪造(CSRF)

CSRF就是利用你所在网站的登录的状态,以你的名义向网站发送恶意请求。CSRF能做的事情包括利用你的身份发邮件、发短信、进行交易转账等,盗取你的账号,甚至购买商品,虚拟货币转账…造成的问题包括:个人隐私泄露以及财产安全等。

demo:

用户登录自己的博客网站(本地cookie已经保存了登录信息)
攻击者构造一个页面:http://www.a.com/csrf.html
其内容为<img src="http://blog.sohu.com/manage/entry.do?m=deleted&id=156714243" />
使用了一个img标签,其地址指向了删除Iid为156714243的博客文章
然后攻击者诱使用户访问这个页面
用户进去看到一张无法显示的图片,这时自己的那篇博客文章已经被删除了

关键点:

  1. 用户登录受信任网站A,并且在本地生成Cookie。
  2. 在不退出网站A的情况下,访问危险网站B。

CSRF的防御

  1. 增加token(token就是服务端返回给客户端类似sessionid) 在请求中放入攻击者所不能伪造的信息,并且该信总不存在于cookie之中。鉴于此,系统开发人员可以在HTTP请求中以参数的形式加入一个随机产生的token,并在服务端进行token校验,如果请求中没有token或者token内容不正确,则认为是CSRF攻击而拒绝该请求。
  2. 通过Referer识别 根据HTTP协议,在HTTP头中有一个字段叫Referer,它记录了该HTTP请求的来源地址。在通常情况下,访问一个安全受限的页面的请求都来自于同一个网站。
    中有一个字段叫Referer,它记录了该HTTP请求的来源地址。在通常情况下,访问一个安全受限的页面的请求都来自于同一个网站。
  3. 网站重要操作增加验证码 CSRF攻击过程中,用户在不知情的情况下构造了网络请求,添加验证码后,强制用户必须与应用进行交互。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值