怎么绕过并使用Bucket的上传战略和URL签名

访客5年前黑客资讯1083

简介
Bucket上传战略是一种直接从客户端向Bucket(存储空间)上传数据的快捷办法。经过上传战略中的规矩以及与拜访某些文件的相关逻辑,咱们将展现怎么拿到完好的Bucket目标列表,一起能够修正或删去Bucket中的现有文件。
什么是Bucket战略
(假如你早已经知道了什么是Bucket战略和URL签名,那么你完全能够直接跳转到下面的“运用”部分)
Bucket战略是一种将内容直接上传到根据云端的大型存储区(如Google云端存储或AWS S3)的安全办法。咱们的主意是创立一个界说有查验是否答应文件上传的战略,随后运用密钥对战略进行签名,并将战略和签名提交给客户端。
然后,客户端能够直接将文件上传到Bucket,Bucket存储会验证上传的内容和战略是否匹配。假如匹配,则上传文件。
上传战略与URL预签名
在开端之前,咱们需求明确指出有多种办法能够拜访Bucket中的目标。运用POST恳求拜访Bucket时,POST战略(AWS)和POST目标 (谷歌云存储)办法只答应上传内容。
另一种称为URL预签名(AWS)或URL签名(Google云端存储)的办法就不仅仅是能够修正目标。咱们是否能够PUT、DELETE或GET 默许的私有目标,这取决于预签名逻辑界说的HTTP办法。
在界说内容类型(Content-Type)、拜访操控和文件上传时,URL预签名与POST战略比较会相对宽松。运用过错的自界说逻辑也会更频频地履行URL签名,如下所示。
这里有许多答应或人拜访上传内容的办法,其间一个是AssumeRoleWithWebIdentity ,类似于POST战略,差异在于你能够获得由预界说的IAM Role(身份和拜访办理人物)创立的暂时安全凭据(ASIA *)。
怎么发现上传战略或URL签名
这是运用POST办法的上传恳求,如下所示:

该战略运用的是ba64编码的 *** ON,如下所示:
{
 "expiration":"2019-07-31T13:55:50Z",
 "conditions": [
 {"bucket": "bucket-name"},
 ["starts-with", "$key", "acc123"],
 {"acl": "public-read"},
 {"success_action_redirect":"https://dashboard.example.com/"},
 ["starts-with", "$Content-Type", ""],
 ["content-length-range", 0, 524288]
 ]
}
在AWS S3上的类似于下面的URL签名:
https://bucket-name.s3.amazonaws.com/?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA…
就像谷歌云存储相同:
HTTPS ://storage.googleapis.com/d/file/uploads/images/test.png?Expires=1515198382&GoogleAccessId=example%40example.iam.gserviceaccount.com&Signature=dlMA---
上传战略的运用
假如咱们想要发现战略中的过错,并对其进行运用,那么咱们需求界说一些不同的特点:
l  Access = Yes-在上传后,咱们是否能够以某种办法拜访​​该文件。在战略中ACL是否被界说为public-read或许能够接纳上传文件的URL预签名。在战略中上传但未界说ACL的目标默许为私有。
l  Inline=Yes-假如你能够修正content-disposition文件,那么咱们能够在内联中供给内容。假如战略中底子没有界说,那么文件则以内联办法供给。
1. starts-with $key是空的
例:
["starts-with", "$key",""]
能够上传文件到Bucket中的任何方位,掩盖任何目标。你能够将key特点设置为任何内容,而且承受该战略。
留意:在某些情况下,这种运用很困难。例如,只要一个Bucket用于上传从未揭露的或以后会运用的名为UUID(通用仅有标识符)的目标。在这种情况下,咱们不知道要掩盖哪些文件,而且无法知道Bucket中其他目标的称号。
2. starts-with $key不包括途径分隔符或为一切用户都用相同的途径
例:
["starts-with", "$key","acc_1322342m3423"]
假如战略的 $key部分包括一个已界说的部分,可是没有途径分隔符,咱们能够将内容直接放在Bucket的根目录中。假如 Access=Yes和 Inline=Yes,并取决于content-type的类型(拜见#3和#4),咱们则能够经过装置AppCache-manifest来盗取其他用户上传的URL(AppCache中的相关缝隙是由我和 @avlidienbrunn以及@filedescriptor别离发现的)。


假如上传目标的途径对一切用户都是相同的,那这个问题也相同适用。
3. starts-with $Content-Type为空
例:
["starts-with","$Content-Type", ""]
假如Access=Yes 和Inline=Yes,咱们就能够在Bucket域上传text/html并供给此服务,如#2所示,咱们能够运用它来运转javascript或在此途径上装置AppCache-manifest,这意味着在此途径下拜访的一切文件都将走漏给攻击者。
4.运用starts-with $Content-Type界说内容类型
例:
["starts-with","$Content-Type", "image/jpeg"]
这个和#3相同,咱们能够增加一些内容来使之一个内容类型成为一个不知道的mime类型,随后追加text/html,文件将被认作为text/html类型:
Content-type: image/jpegz;text/html
此外,假如S3-Bucket保管在公司的子域中,经过运用上述战略,咱们还能够经过上传HTML文件在域上运转javascript。

[1] [2]  黑客接单网

相关文章

压缩包解密,怎么找黑客帮恢复聊天记录,找黑客弄试卷

轻松搞定。 图13 在空中传达的GFSK电磁波(IQ制式)FuzzVul.java里边有两个函数,checkGet和checkPost函数,我依照http协议类型分的,这里边又分为几种,按不同的编码方...

专业接单黑客联系方式_找黑客黑电脑看试卷

管道履行日志三、 进犯面和方针扩大化17、123123 (无变化)下面是举例阐明的电话脚本专业接单黑客联系方式,找黑客黑电脑看试卷 2.1 AuthenticationManager, Provide...

虚假Office 365网站传播TrickBot银行木马-黑客接单平台

TrickBot银行木马是一款专门针对各国银行进行进犯的歹意样本,它之前被用于进犯全球多个国家的金融机构,首要经过垂钓邮件的方法进行传达,前不久还发现有黑产团伙使用它来传达Ryuk勒索病毒,最近Mal...

如何攻击网站_2019怎样找黑客-怎么样找黑客

「如何攻击网站_2019怎样找黑客-怎么样找黑客」验证码流程:在这些范畴中的又以对外联系人、教授、官员为首要方针。 比方***@gmail.com为某国空军将军相关邮箱,***@***.edu.**为...

专业黑客接单,20元黑客联系人,找黑客改高考成绩

缝隙影响windows Vista SP2到Win8.1的一切体系,也影响windows Server 2008~2012版别。 XP不会受此缝隙影响。 缝隙于14年的10月15日被微软修补。 该缝隙...

和女朋友闹分手,女朋友又找了个男的,但是我放不

.text:0000000000466B04 movsxd rax, dword ptr ; 取得索引https://portal.msrc.microsoft.com/en-US/security-...