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”所允许的方法(只需要配置你所需要的即可)

  • 相关阅读:
    删除排列数组中的重复数字
    关于删除数组中重复元素的lintcode代码
    软件工程---删除重复数组
    软件工程实验一实验报告
    软件工程test1-Q2【买卖股票的最佳时机】
    软件工程test1-Q1【删除排序数组中的重复数字】
    接口响应状态码
    TestNG教程
    HttpClient-4.5.2官方教程完整翻译
    cookie、session与token的关系
  • 原文地址:https://www.cnblogs.com/-lyr/p/12048884.html
Copyright © 2011-2022 走看看