目录
简介
漏洞利用
1)这是一个修改密码的功能,输入新密码,点击change即可修改密码,这里进行抓包如下
2)直接右键单击请求包,选择Engagement tools->Generate CSRF PoC
3)在弹出的窗口中点击Copy HTML,将复制的内容保存为change.html文件
4)模拟受害者在登录的情况下访问了该html,点击Submit request,
5)可以看到受害者密码被成功修改
CSRF绕过
1、绕过Referer限制
1)若验证referer字段是否包含网站域名a.com,可以尝试自己申请一个域名b.com,然后添加子域名:a.com.b.com 尝试绕过
2)若验证referer字段是否包含host,也是同样的方法,添加子域名:192.168.1.1.b.com
3)直接将referer字段删除
2、绕过token限制
1)将token字段删除或者置空
2)使用固定的csrf_token,若服务器只检查csrf_token是否有值,而不与当前用户做匹配,则可能绕过
修复建议
1、验证请求的referer值
2、使用token验证,服务器端验证该token,与用户一致方可通过
3、添加二次确认,比如修改密码时需要验证码
END
查看更多精彩内容,关注simple学安全
原文始发于微信公众号(simple学安全):一文读懂CSRF漏洞
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论