反黑客技术:每个匆忙的周末,都需求一道轻腻的回锅肉来充分一下自己的莫名烦躁
[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查询和反向查询
本文标题:反黑客技术:每个匆忙的周末,都需求一道轻腻的回锅肉来充分一下自己的莫名烦躁
夏天是个妖娆的季节,小仙女,老仙女们纷纷"心机"地穿起了仙女裙。你有你的青春可人,我有我的成熟妩媚...就连广场舞大妈们宁愿制造美丽的错误,也丝毫不放过美丽的机会。那么有哪些经典的裙装呢? 1.波点...
睡着了,但是电脑上仍在运作着。一见到水电费的交费单,oh,shit!这时候大家就可以对电脑设置定时开关机了,可针对不明白电脑基础知识的新手而言要怎么设置定时开关机呢?实际上电脑设置定时开关机的方式...
在2015年8月召开的中央第六次西藏工作座谈会上,习近平总书记指出:“必须全面正确贯彻党的民族政策和宗教政策,加强民族团结,不断增进各族群众对伟大祖国、中华民族、中华文化、中国共产党、中国特色社会主义...
石锅鱼杂 原料 鱼头12个(约500克),鱼子600 克,回鱼鳔250克,青椒圈200克,红椒圈 10克,香菜30克。 调料 野山椒15克,姜片、青花椒、料酒各 10克,盐、味...
安徽合肥老乡鸡加盟吗?安徽合肥老乡鸡加盟赚钱吗?安徽合肥老乡鸡加盟怎么样?老乡鸡(前身“肥西老母鸡”),是安徽省最大的连锁快餐企业。“老乡鸡”的餐厅设计融合了时尚的元素,每天都有数以万计的年轻人进店消...
响亮两个字英语投资公司取名名字大全打分 主星英语投资公司 29.49分 细菌英语投资公司 69.52分 草码英语投资公司 83.90分 跳箱英语投资公司 8.45分...