CSRF--渗透测试

问题

1.CSRF漏洞原理是什么?

产生原因:

浏览器会记录用户的登陆状态,用户在不退出登陆的情况下,用户会一直保持登陆状态。
用户点击恶意链接时,恶意请求会带着用户登陆的状态发送给服务器,从而造成CSRF攻击。

CSRF攻击是源于WEB的隐式身份验证机制。
WEB的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但无法保证该请求是用户本身发送的。

漏洞产生条件:

1.浏览器会保存用户的登陆状态,在打开新页时不需要重新登陆(浏览器默认属性)
2.服务器对用户的请求未做任何校验,包括用户身份和请求来源

2.CSRF漏洞如何修复

要点:请求参数不可猜测、不可伪造、不可为空、必须后端校验
1. Anti CSRF Token

. Token为随机生成,满足“不可预测性原则”
. 有限的生命周期
. 使用Token时应注意Token的保密性,尽量把敏感操作由GET改为POST,以form或AJAX形式提交,避免Token泄露

2.使用验证码

验证码强制用户必须与应用进行交互,能很好的遏制攻击;但从用户体验考虑,验证码只能作为一种辅助手段,不能作为主要解决方案

3. Referer Check

Referer Check 在互联网中常用于“防止图片盗链”;也可用于检查请求是否来自合法的“源”

它的缺陷是:服务器并非任何时候都能取到Referer:
. 用户出于隐私保护的考虑,限制了Referer发送;
. 从HTTPS跳转到HTTP,出于安全考虑,浏览器也不会发送Referer

4.在 HTTP 头中自定义属性并验证

通过 XMLHttpRequest 这个类,一次性给所有该类请求加上 csrftoken 这个 HTTP 头属性;也不用担心 token 会透过 Referer 泄露到其他网站中去
局限性:XMLHttpRequest 请求通常用于 Ajax 方法中对于页面局部的异步刷新,并非所有的请求都适合用这个类来发起,而且通过该类请求得到的页面不能被浏览器所记录下,从而进行前进,后退,刷新,收藏等操作。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值