超出范围的域存在XSS?我是这样提高危害的

大家好,我是程序员晓晓

XSS漏洞有时会被忽视,尤其是当域超出范围时。然而,当这种漏洞与跨域资源共享(CORS)配置不当相结合时,它们可能会成为安全项目范围内的有效漏洞,从而有资格获得奖励。

为了更好地解释这一点,我将举一个真实的例子,该例子来自我在HackerOne平台上遇到的某个项目。我们称之为“redacted.com”,它有一个不在范围的子域“community.redacted.com”。

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

一天,我在浏览自动化流程结果时,发现“community.redacted.com”域中存在一个XSS漏洞。

在查看HackerOne项目说明时,我了解到虽然*.redacted.com域在奖励范围内,但community.redacted.com并不包括在内。起初我感到有些失望,因为我低估了这个漏洞的潜在严重性。

但是,如果这个漏洞被忽视,我也就不会写这篇文章了,对吧?

经过几天的思考,我意识到自己遗漏了一些东西。某些广泛范围的应用程序需要利用跨域资源共享(CORS)来实现同一范围内应用程序的整合。

CORS是一项由浏览器实现的安全功能,用于控制不同来源的资源访问权限。它允许服务器指定哪些来源可以访问它们的资源。当应用程序将Access-Control-Allow-Origin标头设置为*.redacted.com时,它基本上允许在“redacted.com”子域上的任何网页访问其资源。

同时,当Access-Control-Allow-Credentials标头被设置为true时,该标头表示请求可以包含凭证(如cookie、授权头或TLS客户端证书)。

在这种情况下,我就可以利用不在范围的域(如“community.redacted.com”)中的XSS漏洞,窃取用户敏感数据或在范围域(“redacted.com”)内代表用户执行未经授权的操作。

接下来,我开始寻找允许被*.redacted.com访问资源的域,并且确保其Access-Control-Allow-Credentials为true。

还需要注意的是,CORS配置错误的域必须有访问敏感信息的cookie。

为了自动化这一过程,我们可以使用一个经过修改的Nuclei模板,该模板可避免不必要的请求,模板内容如下:

id: cors-misconfig

info:  
	name: CORS Misconfiguration  
	author: c4rrilat0r  
	severity: info  
	tags: cors,generic,misconfig

http:  
	- raw:      
		- |        
	  	  GET  HTTP/1.1        
	  	  Host: {{Hostname}}        
	  	  Origin: {{cors_origin}}

	payloads:      
		cors_origin:        
			- "https://{{tolower(rand_base(5))}}.{{RDN}}" # Find domain in RDN with Misconfiguration    
		stop-at-first-match: true    
		matchers:      
			- type: dsl        
			name: arbitrary-origin        
			dsl:          
			- "contains(tolower(header), 'access-control-allow-origin: {{cors_origin}}')"          
			- "contains(tolower(header), 'access-control-allow-credentials: true')"        
		condition: and

经过一些手动测试,我在www.redacted.com的主页上发现了严重的配置错误:

如上图:

1、通过cookie访问敏感信息;

2、Access-Control-Allow-Origin标头允许为community.redacted.com;

3、Access-Control-Allow-Credentials被设置为true。

接着,我在community.redacted.com上设计了一个XSS payload,以从www.redacted.com获取敏感数据。

url = 'https://www.redacted.com/profile';
fetch(url, { credentials: 'include' })//包含Cookie凭证请求主域的/profile端点  
	.then(response => response.text())  
	.then(data => alert(JSON.stringify(JSON.parse(data).user)));

果然,通过巧妙地将XSS与CORS配置相结合,我成功地从不同的来源中窃取了敏感信息。

报告在一天内得到了确认,我获得了904美元的奖励。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取

👉1.成长路线图&学习规划👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

在这里插入图片描述
在这里插入图片描述

👉2.网安入门到进阶视频教程👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。(全套教程扫描领取哈)
在这里插入图片描述
在这里插入图片描述

👉3.SRC&黑客文档👈

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:
在这里插入图片描述
黑客资料由于是敏感资源,这里不能直接展示哦! (全套教程扫描领取哈)

👉4.护网行动资料👈

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
在这里插入图片描述

👉5.黑客必读书单👈

在这里插入图片描述

👉6.网络安全岗面试题合集👈

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值