美文网首页
常见WEB安全漏洞之CSRF

常见WEB安全漏洞之CSRF

作者: 夜境 | 来源:发表于2017-07-26 22:39 被阅读30次

    本文章转载于搜狗测试

    今天说下owasp漏洞排行榜前十的成员——CSRF

    概念

    概念不多说,下面讲原理,CSRF(Cross-site request forgery),中文名称:跨站请求伪造;

    背景知识

    一、页面内请求:熟悉htnl的同学都知道,页面内请求有好多种方式,常见的例如:ajax、js的onload事件,甚至图片请求,这里不一一介绍了(因为这个不是重点),这里不一一介绍了(因为这个不是重点

    二、消费类网站的实现原理:主流的消费类网站应该都是通过请求参数(get或者post)来实现消费;

    例:某论坛可以消费积分兑换礼品用户登录后可以填写表单(参数:兑换什么礼品、收件地址、收件人信息。。。),然后post到服务器,服务器可能会做简单的cookie校验,通过后生成订单信息,扣除相应积分,后续快递礼品;

    攻击原理

    简单图示:

    代码举例:

    论坛消费请求表单:

    收件人:

    收件人地址:

    收件人电话:

    只需要填写收件人信息,就可以提交订单,消费积分兑换奖品

    恶意网页中含有这段代码:

    所以,在浏览器解释html时,就会发出这条请求,服务端如果没做特殊处理的话,只会校验用户登录时种下的cookie,并完成下单,这样黑客张三就顺利的免费兑换了奖品;

    上面的例子比较极端,真正的消费类网站不会这么二的使用get处理支付请求,但是即使换成post又如何呢?如果服务端不做防范的话,“张三只需要稍稍改动恶意网页的代码就能完成同样的工作”

    如何防御

    常见的防御csrf攻击的方式有以下几种:

    在cookie中增加一个包含当前时间戳的加密的token字段,服务端在接收到消费请求时,校验cookie种的token;

    消费请求增加图片验证码,服务端检验验证码;

    校验消费请求的Refer,过滤非官方域的消费请求;

    web安全漏洞的种类繁多,每一种漏洞都涉及到很多前端、服务端的内容,而且有很多变种,欢迎大家留言,共同讨论学习各种安全漏洞的原理及防御方法;

    相关文章

      网友评论

          本文标题:常见WEB安全漏洞之CSRF

          本文链接:https://www.haomeiwen.com/subject/frqjkxtx.html