CSRF漏洞(初步理解)

概念

Cross-site request forgery简称“CSRF”(跨站请求伪造)也被称为one-click attack 或者 session riding。


攻击思路

以淘宝为例,目的修改密码。
打开自己的淘宝,进入修改密码的页面,填写完信息后发送请求,然后把这个URL用抓包的方式获取下来,然后发送给对方。
成功的条件:
1.对方已经打开淘宝。
2.对方点击你的连接。

满足上面两个条件,这个攻击就完成了。


CSRF与XSS的区别

CSRF是攻击者借用用户的权限完成进攻,而XSS是攻击者盗取用户账户和密码之后获取权限完成进攻。


验证是否存在CSRF漏洞

1.对目标网站增添,删除的地方进行逻辑判断,判断请求是否可以被伪造。具体来说就是把每次“请求”的数据包抓下来进行分析,看有没有重复利用“请求”的可能,还有就是修改信息最好需要验证密码。

2.确认凭证的有效期。这个基本是存在的,因为现在的网页为了让用户使用方便,只要不关闭浏览器,都会帮用户保持着登录态,这也给攻击者利用CSRF漏洞提供了机会。


具体案例


GET请求方式案例:

对修改信息的这个请求进行抓包,得到:
在这里插入图片描述

GET /pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=18656565545&add=usa&email=lili%40pikachu.com&submit=submit HTTP/1.1

从抓包的情况可以分析出,这是存在重复利用给的可能的(没有token验证,或者其他参数进行验证),而且因为是GET的请求方式,我们可以直接在URL上修改我们想要修改的信息,并且把它补全为一个可行的URL:

http://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=0000000&add=usa&email=lili%40pikachu.com&submit=submit 

我把电话号改为了0000000,现在来看看lili的个人信息:
在这里插入图片描述
然后发送我们刚刚构造的URL发送给lili,当lili点击我们构造的URL后,再来看看lili的个人信息:
在这里插入图片描述
修改成功!


POST请求方式案例:(先欠下)

思路:


CSRF常见防范措施:

1.增加token验证:
就是在每次请求的时候验证一个随机码,这个验证码要足够长,足够随机。

2.设置会话过期机制:
1.不让电脑一直处于登录态,在页面关闭的时候,退出浏览器的时候要注销掉这个登录态。
2.不能让无操作会话一直处于登录态,在一个会话长期处于无操作状态时比如15分钟,自动注销登录态。

3.升级敏感信息的安全管理:
1.比如在修改一些敏感信息的时候需要对身份进行再次验证,比如再次输入密码等等。
2.比如验证referer,设置白名单,限制访问的域名。
3.敏感信息用POST方式进行传输。

4.设置验证码:防止暴力破解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值