0x01 简介
Cross-site request forgery 简称为“CSRF”,在CSRF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。所以CSRF攻击也成为"one click"攻击。
0x02 CSRF(get)
此处我使用提示里的vince账号进行登录,进入到了会员中心界面,可以进行个人信息的修改操作。
image.png
csrf的操作原理其实并不难,因此借着通关皮卡丘靶场的机会,试一下BurpSuite工具如何测试csrf漏洞。这里我对个人信息进行一套修改保存的组合拳,然后使用BurpSuite把请求包全抓下来。为了验证方便,我将其分别修改为1,2,3,4,然后利用CSRF漏洞再将其修改为5,6,7,8
image.png
image.png
将参数分别修改为6、7、8、9,然后生成新的数据包,并在浏览器中进行测试
image.png
将BurpSuite生成的URL复制到浏览器中打开
image.png
提交请求包
image.png
测试成功
image.png
0x02 CSRF(post)
看关卡题目应该是将请求方法由GET改为POST。仍然利用BurpSuite来完成这个关卡,将各参数值修改为1、2、3、4。
image.png
image.png
修改各参数的值,并生成新的数据包,复制到浏览器中打开
image.png
image.png
测试成功
image.png
0x03 CSRF Token
这一关加入了token进行限制,所以我们用到BurpSuite的CSRF Token Tracker插件对token进行处理。
image.png
添加一条规则
image.png
生成POC,然后在浏览器打开
image.png
成功
image.png
0x04 总结
- 验证请求的Referer是否来自本网站,但可被伪造绕过。
- 在请求中加入不可伪造的token,并在服务端验证token是否一致或正确,不正确则丢弃拒绝服务。
本文仅为个人学习时所作笔记,非标准答案,文中如有错误,烦请各位师傅批评指正。