zoukankan      html  css  js  c++  java
  • 实战之授权站点漏洞挖掘-CORS

    1.思路

    用户登陆了一个存在跨域的网站,并且这个网站的跨域处理方式为CORS,并且开发人员处理跨域的时候满足cookie跨域和Origin是可控的。那么用户在登陆之后这个网站后,网站便会将一些cookie信息保存在浏览器中。
    这个时候我们向该用户发送一个钓鱼网站,用户点开这个钓鱼网站之后,钓鱼网站会向服务器发送一个Ajax异步请求,然后将返回的响应发送给攻击者。

    2.利用

    (1)检测方法一

    检查返回包的 Access-Control-Allow-Origin 字段是否为https://test.com

    curl https://www.junsec.com -H "Origin: https://test.com" -I

    (2)检测方法二
    burpsuite发送请求包,查看返回包
    请求包,我们只要关注Origin即可
    把Origin设置为b.com时,返回包的Access-Control-Allow-Origin也为b.com,也就是b.com可以跨域获取我的个人博客a.com的资源。从而产生了CORS配置不当的漏洞

    3.防御

     不要配置"Access-Control-Allow-Origin" 为通配符 “*” ,而且更为重要的是,要严格效验来自请求数据包中的“Origin”的值。当收到跨域请求的时候,要检查“Origin” 的值是否是一个可信的源,还要检查是否为null。
    避免使用 “Access-Control-Allow-Credentials :true” (请求中带cookie)
    减少“Access-Control-Allow-Methods”所允许的方法(只需要配置你所需要的即可)

  • 相关阅读:
    UVa 1151 Buy or Build【最小生成树】
    UVa 216 Getting in Line【枚举排列】
    UVa 729 The Hamming Distance Problem【枚举排列】
    HDU 5214 Movie【贪心】
    HDU 5223 GCD
    POJ 1144 Network【割顶】
    UVa 11025 The broken pedometer【枚举子集】
    HDU 2515 Yanghee 的算术【找规律】
    Java基本语法
    Java环境变量,jdk和jre的区别,面向对象语言编程
  • 原文地址:https://www.cnblogs.com/-lyr/p/12048884.html
Copyright © 2011-2022 走看看