CSRF绕过Referer技巧

1.空referer

有些网站可能没有考虑到referer为空的情况或者业务需要referer为空的情况从而导致了绕过

如果要实际利用,那么可以使用以下的一些方法:

  • form表单页面加上如下内容:
<meta name="referrer" content="never" >
  • a标签的一个属性ref
<a href="xxx" ref="noreferrer">TEST</a>
  • 利用其他的协议,比如data:file:
<iframe src="data:text/html;base64,PGZvcm0gbWV0aG9kPXBvc3QgYWN0aW9uPWh0dHA6Ly9hLmIuY29tL2Q+PGlucHV0IHR5cGU9dGV4dCBuYW1lPSdpZCcgdmFsdWU9JzEyMycvPjwvZm9ybT48c2NyaXB0PmRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOzwvc2NyaXB0Pg==">
  • 如果目标是http的站点,那么将poc放到https的站点上,从https的站点跳转到http的站点,也是不带有referer的

2.关键词绕过

查看是否必须存在指定的关键词,如必须存在abc.com,那么我们只需要使用xxx.com/poc.html?abc.com即可绕过(?也可以换成其他的一些符号,只要不影响html解析就行,比如#


3.指定域绕过

相比上一个更难,比如referer必须在域abc.com下,这种情况也有一些方法:

  • 使用@,比如[email protected]/poc.html
  • 看看子域名有不有发布文章的功能的地方,比如存在一个子域名forum.abc.com可以发布文章,那么把poc发布到这个域名下诱导其他人访问也是可以的
  • 如果是GET型CSRF,思路和第二条也差不多,只是要简单很多,找个能从网站内访问POC的点即可,比如网站头像处设置成CSRF的POC
  • 找一个任意URL跳转的漏洞来结合
  • 结合XSS

猜你喜欢

转载自blog.csdn.net/Gherbirthday0916/article/details/129735168