http://www.7klian.com

裂痕阐明 | CORS-anywhere :第三方软件设置错误的危险

CORS-anywhere是一个开源东西,为开拓人员提供了一种处理惩罚跨域请求的要领。该项目存储库在Github上有3千多颗星,这足以证明它的受接待水平。
· 操作SSRF裂痕的常见要领
5.  可以封锁AWS EC2 云处事器中的matadata处事:
https://github.com/Azure/WALinuxAgent/wiki/VMs-without-WALinuxAgent
通过将PUT请求发送到“http://169.254.169.254/latest/api/token”来建设会话。然后就可以利用PUT请求返回的通证请求元数据。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html
然而,在渗透测试期间,CertiK团队发明白一些关于用于获取块数据的请求URL有些异常。该URL看起来像这样:
b. PUT请求包括一个HTTP标头“X-aws-ec2-metadata-token-ttl-seconds”。在SSRF进攻中,进攻者凡是无法在请求中插入其他HTTP标头。

默认的CORS-anywhere页面自动生成页面内容,使潜在的黑客更容易找到它们,包罗这句第一行就很是引人注目:“This API enables cross-origin requests to anywhere”。所以CertiK技能团队利用Shodan.io和Zoomeye这两个搜索引擎寻找毗连到互联网的设备,并在搜索中寻找可操作的实例。

方针Web应用措施是一个欣赏器,它具备区块信息查找、生意业务汗青记录查找、陈设的智能合约等成果。
· 区块链欣赏器中的跨域请求来自那里?为什么我们需要处理惩罚它?
对付IMDSv1,检索实例元数据仅需要GET请求:

提示:区块链欣赏器利用的CORS-wheres托管在AWS EC2云处事器上。
c. 会见内部网络中的敏感资源
· 将Nginx反向署理安排在节点(链)处事器的前面,以将CORS标头插入HTTP响应中

在本文中,将不会过分深入地接头SOP(同源政策)和CORS(跨源资源共享)机制。简而言之,SOP会阻止JavaScript读取跨源请求中的响应,而CORS则是一种绕开由同源计策施加的限制的要领。

更多有关IMDSv1和IMDSv2区此外信息,可会见AWS security blog(参考文献3)。
操作SSRF裂痕
“CORS -Anywhere是一个NodeJS署理 ,它将CORS标头添加到署理请求中”。
下文将进一步表明配景,并论述CertiK技能团队的发明及举办的其他研究。
要操作IMDSv2中的此裂痕,需要发送两个请求。首先,发送一个包括“X-aws-ec2-metadata-token-ttl-seconds”HTTP标头的PUT请求以获取会话通证。然后,发送一个包括“X-aws-ec2-元数据通证”HTTP标头的GET请求,该标头的值是从上一个请求中获取的。

处事器端请求伪造(也称为SSRF)是一个网络安详裂痕,进攻者可以操作该裂痕诱使处事器端应用措施向进攻者选择的任意域发出HTTP请求。在典范的SSRF示例中,进攻者的操纵大概导致处事器成立自身毗连,可能在组织基本布局中构建其他基于Web处事或外部第三方系统的毗连。
https://cosmos.network/rpc/v0.37.9
假如想要相识更多关于SSRF的信息,可会见参考文献8。
https://aws.amazon.com/blogs/security/defense-in-depth-open-firewalls-reverse-proxies-ssrf-vulnerabilities-ec2-instance-metadata-service/
重点:
AWS EC2 metadata
https://www.shodan.io/
https://github.com/Rob–W/cors-anywhere/issues/152

“Shodan”返回6个功效,“Zoomeye”返回447个功效。
网络中”CORS-wherewhere”案例
1.  Web应用措施中的裂痕不只可以在系统的前端和后端找到,并且可以在基本设施中找到。
那么当欣赏器“explorer.mychain.com”向“api.mychain.com”发出请求时,它就会成为一个跨域请求。假如个中没有正确的CORS标头,欣赏器就会阻止应用网站读取RPC API的HTTP响应。
CORS-anywhere先容
为了消除误报并进一步验证来自搜索引擎的功效,CertiK技能团队编写了剧本用来确认主机在线,而且可以在“CORS-anywhere”的辅佐下会见元数据处事。最终发明互联网上总共有100个AWS EC2云处事器因为陈设了CORS-anywhere,而会受到SSRF进攻。但因为没有被授权,所以没有继承实验获取检索AWS role credentials。

尽量IMDSv2比v1更安详,但仍然可以通过在CORS-anywhere中的SSRF裂痕来会见metadata,获取role credentials。这是因为CORS-anywhere支持HTTP PUT要领,能将所有标头转发到元数据处事。
假如区块链欣赏器的主机名是“explorer.mychain.com”,而RPC API的主机名是“api.mychain.com”。
参考文献
在最近一次举办的Web应用措施渗透测试中,CertiK技能团队发明白一个预料之外的严重裂痕。在得到客户的许可后,我们将此发明写入本文以做分享,辅佐相关开拓人员将来规避同样的错误。

https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity

譬喻,IAM脚色具有一个名为“aws-elasticbeanstalk-ec2-role”的脚色。这是在利用Elastic Beanstalk处事启动情况时建设的脚色。按照AWS文档,此脚色具有对s3存储库的完全会见权限。假如能从元数据端点获取根据,就可以会见组织中的s3存储库。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读