网安面试准备的csrf漏洞原理、防范、危害、绕过(1)

第一问别笑,面试真被问过,人麻了

Csrf中英文全称分别是什么?
跨站请求伪造 CSRF(Cross-site request forgery)

造成csrf攻击的条件什么
登录受信任站点 A,并在本地生成cookie;
在不登出站点A(清除站点A的cookie)的情况下,访问恶意站点B。

csrf攻击原理是什么?
笼统的说就是,攻击者盗用了我的身份,以我的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作。
就比如说:
1. 我成功登录网站A并且产生了cookie信息
2. 在没退出A之前,我又使用同一浏览器访问恶意网站B
3.这个时候网站B可能就劫持了我的cookie,向网站A发起请求,并且请求中携带攻击代码
4.浏览器接受了网站B的请求,并通过了劫持的cookie信息,所以会以我的权限处理请求,导致攻击代码执行

Csrf有哪些危害?
比如:更新账号细节,完成购物,注销甚至登录等操作
获取用户的隐私数据
配合其他漏洞攻击
csrf蠕虫:
某社区私信好友的接口和获取好友列表的接口都存在CSRF漏洞,攻击者就可以将其组合成一个CSRF蠕虫——当一个用户访问恶意页面后通过CSRF获取其好友列表信息,然后再利用私信好友的CSRF漏洞给其每个好友发送一条指向恶意页面的信息,只要有人查看这个信息里的链接,CSRF蠕虫就会不断传播下去

怎样防范csrf?
1、当用户发送重要的请求时需要输入原始密码
2、设置随机 Token
token随机字符串用来验证数据包的唯一性,由于数据包的唯一性也就导致csrf漏洞几乎不能被利用
3、检验 referer 来源,请求时判断请求链接是否为当前管理员正在使用的页面(管理员在编辑文章,
黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)
4、设置验证码
5、限制请求方式只能为 POST
6、将cookie设置为HttpOnly

Csrf怎样绕过?
校验referer一般是通过正则表达式来进行匹配
空referer
就是给数据包中的referer置空即可,有些网站可能没有考虑到referer为空的情况或者业务需要referer为空的情况从而导致了

绕过
关键词绕过

查看是否必须存在指定的关键词,如必须存在abc.com,那么我们只需要使用xxx.com/poc.html?abc.com即可绕过(?也可以换成其他的一些符号,只要不影响html解析就行,比如#)

指定域绕过
相比上一个更难,比如referer必须在域abc.com下,这种情况也有一些方法:
使用@,比如abc.com@xxx.com/poc.html
看看子域名有不有发布文章的功能的地方,比如存在一个子域名forum.abc.com可以发布文章,那么把poc发布到这个域名下诱导其他人访问也是可以的
如果是GET型CSRF,思路和第二条也差不多,只是要简单很多,找个能从网站内访问POC的点即可,比如网站头像处设置成CSRF的POC
找一个任意URL跳转的漏洞来结合
结合XSS

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值