码迷,mamicode.com
首页 > 其他好文 > 详细

CSRF跨站请求伪造

时间:2020-03-13 18:27:27      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:凭证   站点   攻击   ast   网站   身份认证   get   增删改   style   

1、CSRF跨站请求伪造

1.1 CSRF漏洞概述

1)在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般为一个链接)然后欺骗用户进行点击,用户一旦点击了这个请求,整个攻击也就完成了。所以CSRF攻击也被称为“one cilck”攻击

2CSRFXSS的区别:CSRF是借用户权限完成攻击,攻击者并没有拿到用户权限,而xss则是直接盗取了用户的权限,然后实施破坏。

3)如何确定一个web系统存在CSRF漏洞

*对目标网站增删改的地方进行标记,并观察其逻辑,判断请求是否可以被伪造

--比如修改管理员账号,并不需要验证旧密码,导致请求容易被伪造

--比如对于敏感信息的修改并没有使用安全的token验证,导致请求容易被伪造

*确认凭证的有效期(这个问题会提高CSRF被利用的概率)

--虽然推出或者关闭了浏览器,但是cookie仍然有效,或者session并没有及时过期,导致CSRF攻击变得简单

1.2 CSRF(get/post)实验演示和解析

1getcsrf演示

*get型的csrf漏洞所包含的信息都在url里,所以,我们只要可以获取到目标用户的url,就能对其信息进行修改,但同时还要保障的是,用户此时必须处于登陆状态,浏览器没有关闭

 技术图片

*这是我们得到的url,并对他进行加工,修改地址为baodinghttp://192.168.66.246/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=12345678922&add=baoding&email=lucy%40pikachu.com&submit=submit

*这样就是我们构造完成的url,让用户点击

 技术图片

2postcsrf演示

*post型的csrf漏洞所需要修改的信息并不在url里,而是在请求体里面进行提交的。所以我们需要和xsspost请求一样,布一个站点,做一个表单,让目标用户点我们站点的表单的url。向存在postcsrf漏洞的页面去提交post请求。

*我们得先做一个post表单,并把它放到我们的www文件夹下

 技术图片

*发送给用户连接,用户访问,则完成修改:192.168.66.246/post.html

 技术图片

1.3 常见CSRF防范措施

1)增加token验证(常用)

对关键操作增加token参数,token值必须随机,每次都不一样

2)关于安全的会话管理(避免会话被利用)

*不要在客户端保存敏感信息(比如身份认证信息)

*测试直接关闭,退出时的会话过期机制

*设置会话过期机制,比如15分钟内误操作,则自动登陆超时

3)访问控制安全管理

*敏感信息的修改时需要对身份进行二次认证,比如修改账号,需要判断旧密码

*敏感信息的修改使用post,而不是get

*通过http头部中的referer来限制原页面

4)增加验证码

一般用在登陆,(防暴力破解),也可以用在其他重要信息操作的表单中

CSRF跨站请求伪造

标签:凭证   站点   攻击   ast   网站   身份认证   get   增删改   style   

原文地址:https://www.cnblogs.com/pangsong/p/12487833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!