CSRF跨站请求伪造

Cookie:Cookie就是一个用来辨别用户身份的标识
        cookie由服务器颁发,第一次访问服务器时,服务器会将登录信息保存到session,
当浏览器携带Cookie访问服务器时,服务器从中取出sessionid与自己所存的信息判断登陆状态

Session:当程序员设置session后,登陆网页时,就会给你一个sessionid放入你的cookie里

csrf原理如下:

用户打开浏览器访问一个受信任的网站,并登陆了账号密码,服务器给用户一个cookie。
当用户没有执行退出账号的操作时,在同一浏览器中访问了一个连接
举例这是个银行的url:https://www.*****.cn/?转账金额=1000&免密支付=ture
;前提是用户登录登录后未执行退出操作
点击后,在用户不知情的情况下携带Cookie进行访问,
服务器并不知道这是黑客的攻击,这是在用户本地发出的请求,会根据用户的操作进行处理,
至此,攻击结束

危害:
修改账户信息
利用管理员账号 ,上传木马文件
传播蠕虫病毒(点击、扩散、点击)
和其他攻击手段配合,实现攻击,比如sql,xss

XSS与CSRF区别:
说区别就是,xss能获取用户信息,比如Cookie,
CSRF是要在用户登录且没有退出的情况下,才可以,拿不到Cookie,只是利用受害机本地Cokie执行某些操作

检测方式,GET方式复制请求url,换个浏览器登录另一个账号,然后再访问该url,执行成功则存在漏洞,POST就可以通过burp抓包生成一个poc,复制保存到本地命名为**.html,点击访问然后submit就可以了,具体可以看这个:CSRF漏洞案例---POST型_汉堡哥哥27的博客-CSDN博客_csrf post

放个工具
半自动化工具:1.burp   2.CSRF tester
全自动化:https://github.com/s0md3v/Bolt

防御:
思路:区分网页请求是否来自第三方网站
                利用referer,跟踪来源,从哪里来的这里,从而进行判断阻止
                缺点:可以抓包改
          token:每次访问后生成一个随机token字段,服务端将它存到session里,
                    客服端可以放到cookie里或者隐藏字段里
                    用户在登录状态下需要携带Cookie进行访问,服务端进行验证
                    缺点:token也会泄露,
            进行二次验证:比如输入当前使用的密码,或者手机/邮箱验证码,扫码验证,人脸识别,点击or类似google的选图片验证方式
            

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值