
防范CSRF漏洞一般有两种常用方法,即验证referer和增加token;
由于检查referer通常是正则表达式匹配,开发者可能会疏忽,导致被绕过的可能。
忽视空引用者
和题目一样,测试时只需要将空设置为数据包中的referrer即可。有些网站可能没有考虑到推荐人是空或者商家需要推荐人是空的情况,导致绕过。
如果你想实际使用它,你可以使用下面的一些方法:
将以下内容添加到表单页面:
标签的属性引用

试验
使用其他协议,如数据、文件等。
如果目标是http站点,那么将poc放在https站点上并从https站点跳转到http站点也是没有referer的。
关键词旁路
检查指定的关键字是否必须存在。如果abc.com必须存在,那么我们只需要用xxx.com/poc.html·abc.com来绕过它。
指定域旁路
和上一个相比,难度更大。例如,推荐人必须在abc.com域下。在这种情况下,也有一些方法:
使用@,如abc.com@xxx.com/poc.html.
看子域有没有发布文章的功能。例如,如果有一个可以发布文章的子域forum.abc.com,也可以在这个域名下发布poc,以诱导其他人访问它。
如果是GET CSRF,思路和第二个差不多,但是简单多了。只要找到一个可以从网站访问POC的点,例如在网站头像处设置为CSRF的POC。
找到任意URL跳转的漏洞进行组合
结合XSS
摘要

一般来说,有两种旁路方式。
首先是空referer。
第二种是和任何URL跳转一样的弯路。


