反黑客技术:每个匆忙的周末,都需求一道轻腻的回锅肉来充分一下自己的莫名烦躁
[1][2][3][4]黑客接单网
每个匆忙的周末,都需求一道轻腻的回锅肉,来充分一下自己的莫名烦躁!今日,我们就来带我们从头咂摸一下一个经典的DOM UAF缝隙!来
从头剖析一个经典的DOM UAF缝隙事例:Firefox浏览器HTMLSelectElement Use-After-Free缝隙,2018年12月,Mozilla经过mfsa2018-29 发布了Firefox 64版别,该版别开始是由Nils发现并陈述的。这个版别修正了几个安全问题,其间包含CVE-2018-18492,这是一个与select特点相关的开释后重用(use-after-free, UAF)缝隙。我们之前现已讨论过UAF 缝隙,而且我们现已看到供货商已采纳办法,企图彻底消除这个缝隙。不过,即便这样,在Web浏览器中发现与UAF相关的缝隙并不稀有,因而了解它们关于发现和修正这些缝隙至关重要。在这篇文章中,我向你揭穿一些关于这个特定UAF缝隙以及为处理这个缝隙而发布的补丁的更多细节。
缝隙的触发进程
下面的概念证明Shadow-box运用更先进的虚拟化技术的操作系统安全监督结构。Shadow-box具有一个受shadow play启示的新颖架构。我们从头开始构建了Shadow-box,它首要由轻量级处理程序和安全监督程序组成。可以用来触发这个缝隙:
在受影响的Firefox版别上运转这个概念验证,可以得到以下溃散和仓库盯梢:
正如你所看到的,撤销引证填充0xe5e5e5e5的内存地址时会发生读取拜访抵触。这是jemalloc用来毒化已开释内存的值。所谓“毒化”,我们的意思是用可辨认的形式填充已开释的内存,以便进行缝隙确诊。更好,填充形式不对应于可拜访的地址,因而任何测验撤销引证从填充的存储器加载的值都将导致当即溃散,例如,在开释后重用的状况下 。
根本原因剖析
PoC由6行组成,让我们逐行分化:
1. 创立div特点;
2. 创立选项特点;
3. option特点被附加到div特点中,这样div现在是option特点的父级了;
4. 将DOMNodeRemoved事情侦听器添加到div特点,这意味着假如删去了option特点,我们将调用我们放在这儿的函数;
5. 创立一个select特点。
当用JavaScript创立一个select特点时,函数xul.dll!NS_NewHTMLSelectElement将接纳控件。它为这个select特点分配一个0x118字节的目标:
如你所见,最终,跳转到mozilla :: dom :: HTMLSelectElement :: HTMLSelectElement函数。
在这个函数中,初始化新分配目标的各个字段。留意,还分配了0x38字节的另一个目标,并将其初始化为HTMLOptionsCollection目标。因而,默许状况下,每个select特点都有一个option调集。让我们看看PoC的最终一行。
6. 将过程2中创立的option特点移动到select特点的option调集中,在JavaScript中履行此操作将导致调用mozilla :: dom :: HTMLOptionsCollection :: IndexedSetter函数(你可以看到此函数在图2中所示的仓库盯梢中调用)。
这儿的一些查看是由浏览器完结的,例如,假如option索引大于option调集的当时长度,则经过调用mozilla :: dom :: HTMLSelectElement :: SetLength函数来扩展option调集。在我们的PoC中,由于第6行中的[0],它是零(参见图1),然后在图5中的蓝色块处进行查看。假如要设置的索引不等于option调集的option计数,则选用右分支。在我们的PoC中,所需的索引值为0,而选项计数也为0,因而选用了左分支。这样,履行就可以抵达nsINode :: ReplaceOrInsertBefore函数,如下面的赤色块中所示:
在nsINode::ReplaceOrInsertBefore函数中,履行对nsContentUtils::MaybeFireNodeRemoved函数的调用,假如父级函数正在侦听这样的事情,则会告诉父级函数删去子函数。
当我们在PoC的第4行div特点上设置一个DOMNodeRemoved事情侦听器时(参见图1),我们放置在那里的函数就会被触发。在这个函数中,首先将sel变量设置为0。这将删去对select特点的最终一个引证。接下来,该函数创立了一个巨大的数组缓冲区。这会发生内存压力,导致垃圾收集器发动。此刻,select 特点目标被开释,由于不再有对它的任何引证。这个开释的内存将被0xe5e5e5e5毒化。最终,该函数调用alert来改写挂起的异步使命。从nsContentUtils::MaybeFireNodeRemoved函数回来时,开释的select目标用于读取一个指针,该指针会触发读取拜访抵触。
这儿有一个风趣的发现,假如选用了右分支,将调用完全相同的函数(nsINode::ReplaceOrInsertBefore),但就在调用之前,AddRef函数将用于添加select目标的引证计数。因而,不会呈现开释后重用的状况:
补丁
Mozilla经过changeset d4f3e119ae841008c1be59e72ee0a058e3803cf3修补了这个缝隙,原理便是,option调集中对select特点的弱引证被一个强引证替换。
[1] [2] 下一页
CONTEXT ctx = {}; opts = Options()尽管AFL如此健壮,但假如要获得更快的Fuzzing速度,那么就有必要生成一个高质量的语料库,这一节就处理怎样选择输入文件、从哪里寻找这些文件、怎样精简找到的文件三个问题。反黑客技术:每个匆忙的周末,都需求一道轻腻的回锅肉来充分一下自己的莫名烦躁
msf exploit(windows/ *** b/psexec_psh)> set *** buser administrator#BLOCK3. 其他办法
@ 代表小写字母序文chmod
代码如下: struct utmp {Android手机需求root。[PS] C:Windowssystem32>Get-DistributionGroup经过代码发现,PSIA/System/deviceInfo可以获取设备的信息。curl 得到全部IP细节 (挖掘机):
反黑客技术:每个匆忙的周末,都需求一道轻腻的回锅肉来充分一下自己的莫名烦躁接着,看下核算机名和我们运用的用户会注入如下代码
if self.bp_end == None:
3)Whois查询和反向查询
本文标题:反黑客技术:每个匆忙的周末,都需求一道轻腻的回锅肉来充分一下自己的莫名烦躁
逻辑是什么意思(都说要有逻辑,但究竟什么是逻辑?)我们常自黑或吐槽别人说“我逻辑不好”,“这人逻辑是死的!” 完全搞清这几个问题需要系统的课程,今天这篇文章从我们最常用的逻辑四大功能入手,从入门角度...
就是因为目前社会的变迁以及经济的发展,让大家都想着拥有更多的财富,而现在创业变得非常的火爆,那么创业选择什么行业来进项创业呢?那当然是餐饮行业了,因为餐饮行业的成本低所以降低了加盟门槛,而且餐饮行业销...
双规和立案审查的区别在于,双规是一种非必须的措施,而立案审查是一种必经程序,用这样一句话即可概括。双规是针对着共产党员中的腐败分子,对其进行限制人身自由的措施,继而进行调查。 双规和立案审...
乐清市地处浙江东南沿海的瓯江口北岸,西北为雁荡山山脉,东南为海积平原,地势自西北向东南倾斜,陆地面积1385平方公里,海域面积284.3平方公里。境内河(溪)流众多,河(溪)流皆源于西北山区,短而流急...
本文导读目录: 1、盘点一下,有哪些著名的黑客入侵案? 2、全球6大黑客,中国占几个? 3、轰动的网络的黑客案有哪些? 4、世界上大名鼎鼎的黑客都做过哪些让人非常震惊的事情? 5、著名...
奥迪q5怎么样(原因无非这几点)有人的地方就有江湖,有车的地方就有套路~现在想买车的朋友很容易被一些媒体的文章忽悠,因为你们人类的文章总带有太强的主观色彩。而我,AI车叔,将用“没有人情味”的方式评测...