震惊,童鞋们喜爱的作业帮的cors居然存在配置问题

前记:今天闲来无事,来到漏洞盒子发现没啥好挖的,就跑去野战了:smile:突然灵机一动,想到了我以前最喜欢的app,作业帮,想挖app是没可能了,毕竟我这么菜,对吧!所以就找到了官网,用目录扫描器扫了一遍,一个个的点开链接,查找漏洞,发现了个会话令牌存在泄漏,(仙哥说不能发链接哦)

跑去问群里的大佬,结果都说我不要再浪费审核的时间了,:joy:

我不死心,功夫不负有心人,我终于又找到了个漏洞,就是作业帮的cors的配置存在问题,

漏洞细节:

Access-Control-Allow-Origin:http : //2PZaB9f2.com

Access-Control-Allow-Credentials:true

再给你们来个http请求,方便各位大佬的操作,

GET/修哥说不能发链接哦HTTP/1.1Pragma:no-cacheCache-Control:no-cacheReferer:https:修哥说不能发链接哦Host:www.zybang.comConnection:Keep-aliveAccept-Encoding:gzip,deflateUser-Agent:已隐藏Origin:http://2PZaB9f2.com

C

Copy

漏洞url:(修哥说不能发链接哦)

可能有些大佬不知道cors,容我给大佬们科普下,

中文名叫跨域资源共享

CORS(Cross-origin resource sharing ),是指通过XMLHttpRequest的ajax方式访问其他域名下资源,而不是在A域名的页面上点击打开一个B域名的页面。引入不同域上的js脚本文件也是没用问题的。出于安全考虑,跨域请求不能访问document.cookie对象。

CORS技术允许跨域访问多种资源,比如javascript,字体文件等

——来源百度百科,因为这个我只是初略学过,大佬勿喷

说到这里就不得不提一下同源策略了

同源策略:

同源就是域名,协议,端口相同

同源策略与浏览器的关系就像是你和你女朋友的一个约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。有哪些危害呢?我再给大佬们说细一点

1.无法读取cookie、localStorage、indexDB

2.DOM无法获得

3.ajax请求无法发送

可以说 Web 是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。

一.DOM 同源策略:

禁止对不同源页面 DOM 进行操作。这里主要场景是 iframe 跨域的情况,不同域名的 iframe 是限制互相访问的。

iframe是什么?

就是html,如果连这都不懂,我也不想说你了

它是一个HTML内联框架元素,它能够将另一个HTML页面嵌入到当前页面中。

DOM又是啥?

文档对象模型,是 HTML 和 XML 文档的编程接口。

HTML DOM 定义了访问和操作 HTML 文档的标准方法。

表示嵌套的browsing context。它能够将另一个HTML页面嵌入到当前页面中。

二.XMLHttpRequest 同源策略:

禁止使用 XHR 对象向不同源的服务器地址发起 HTTP 请求。

XHR是啥?

就是 XMLHttpRequest 对象。

也就是ajax功能实现所依赖的对象

语法:

1.Access-Control-Allow-Origin响应头

的 Access-Control-Allow-Origin 报头指示是否一个资源可以被共享的基于通过返回的值Origin在响应请求头,“*”,或“空”。

规则:

Access-Control-Allow-Origin = "Access-Control-Allow-Origin" ":" origin-list-or-null | "*"

实际上, origin-list-or-null生产受到更多限制。不是允许使用空格分隔的起源列表 ,它要么是单个起源,要么是字符串“ null”。

2.Access-Control-Allow-Credentials响应头

的 Access-Control-Allow-Credentials 报头指示是否请求的响应可以在被暴露省略凭证标志未设置。当对预检请求的响应的一部分时,表明 实际请求可以包括用户凭据。

规则:

Access-Control-Allow-Credentials: "Access-Control-Allow-Credentials" ":" true

true: %x74.72.75.65 ; "true",区分大小写

3.Access-Control-Expose-Headers响应头

的 Access-Control-Expose-Headers 报头指示该标头是安全,以暴露到CORS API规范的API。

规则:

Access-Control-Expose-Headers = "Access-Control-Expose-Headers" ":" #field-name

4.Access-Control-Max-Age响应头

的 Access-Control-Max-Age 报头指示多长时间的结果预检请求 可以在被缓存预检结果缓存。规则:

Access-Control-Max-Age = "Access-Control-Max-Age" ":" delta-seconds

5.Access-Control-Allow-Methods响应标题

的 Access-Control-Allow-Methods 报头指示,作为响应于一部分 预检要求,可在过程中使用的方法 的实际请求。

在Allow头是不相关的CORS协议的目的。

规则:

Access-Control-Allow-Methods: "Access-Control-Allow-Methods" ":" #Method

6.Access-Control-Allow-Headers响应头

的 Access-Control-Allow-Headers 报头指示,作为响应于一部分 预检请求,该头字段名称可以在过程中使用实际的请求。

规则:

Access-Control-Allow-Headers: "Access-Control-Allow-Headers" ":" #field-name

7.Origin请求头

的 Origin 报头指示了跨来源请求或 预检请求从始发。

8.Access-Control-Request-Method请求头

的 Access-Control-Request-Method 报头指示该方法将在使用 实际的请求作为一部分 预检请求。

规则:

Access-Control-Request-Method: "Access-Control-Request-Method" ":" Method

9.Access-Control-Request-Headers请求头

的 Access-Control-Request-Headers 报头指示哪些报头将在使用 实际的请求作为一部分 预检请求。

规则:

Access-Control-Request-Headers: "Access-Control-Request-Headers" ":" #field-name

简单的跨域请求简单的跨域请求:

应用发出请求的步骤,并在发出请求时遵守下面的 请求规则。

如果未设置手动重定向标志,并且响应的HTTP状态代码为301、302、303、307或308

应用重定向步骤。

如果最终用户取消请求应用中止步骤。如果出现网络错误

如果发生DNS错误,TLS协商失败或其他类型的网络错误,请应用网络错误步骤。不要请求任何类型的最终用户交互。这不包括指示某种错误类型的HTTP响应,例如HTTP状态代码410。除此以外执行资源共享检查。如果返回失败,请应用网络错误步骤。否则,如果返回pass,则终止此算法并将 跨域请求状态设置为success。实际不终止请求。

大佬们可能又要问了,扯了半天有啥风险啊?

默认情况下,CORS机制不读取cookie值,即跨域访问时没有带上cookie,当需要跨域访问带cookie时,需要设置另一个文件头,Access-Control-Allow-Credentials,值为true。该选项设定了是否允许跨域请求带cookie。当设定为true后,对于XMLHttpRequest还需要设定withCredentials为true,在Jquery中为xhrFields: {withCredentials: true}

一旦允许了带cookie的跨域访问,那么遭到CSRF攻击的概率大大的增加了,比如之前的假设a.html页面内有一段恶意的js,它每隔1分钟去跨域请求用户b页面,并将请求后的数据偷偷的存入自己的数据库内。假设b页面需在要用户登录的情况下,可以请求到很多机密数据,比如信用卡号等,那当用户打开a页面后,在非授意的情况下,获取到b面值的内容,引发泄密。

简单的说就是任何网站都可以发出使用用户凭据发出的请求,并读取对这些请求的响应。

warning:

网站漏洞已提交,请勿将本文章用于非法用途,出了责任与本人概无关系!

转载自http://www.qyh1028.com/?p=127

博客地址:qyh1028.com

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容

  • http://www.ruanyifeng.com/blog/2016/04/cors.htmlCORS是一个W3...
    文茶君阅读 202评论 0 0
  • 引用自HTTP访问控制(CORS) 当 Web 资源请求由其它域名或端口提供的资源时,会发起跨域 HTTP 请求(...
    有涯逐无涯阅读 2,589评论 0 4
  • 前沿: 最近总听到同事聊跨域得问题,于是自己抽空仔细的查阅了一下关于跨域的知识。说到跨域,就得提到同源,跨域是指一...
    戈弋图阅读 1,813评论 0 4
  • 本文来自于公众号链接: 彻底掌握CORS跨源资源共享 本文接上篇公众号文章:彻底理解浏览器同源策略SOP 一.概...
    赵召阅读 433评论 0 1
  • 什么是跨域HTTP请求 现代浏览器出于安全的考虑,使用 XMLHttpRequest对象发起 HTTP请求时必须遵...
    孤独的人最善良阅读 1,182评论 0 0