zoukankan      html  css  js  c++  java
  • 2020

      毕业的第二年&正式开始挖洞的第一年,感觉经历了很多,有很多东西想写但又不知道从何写起,2020年的最后一天作为一个年度总结写下来吧。

      年初因为疫情在家呆了好久,妈妈的身体一直不太好,可能以后不太容易有机会能在家呆这么长时间了。这段时间因为武汉封城每天各地感染新增好多大家都不敢出门搞得还是有些恐慌的,md老子这么年轻聪明不会也感染病毒死翘翘了吧,但是在家里天天摸鱼划水不出门又感觉病毒好像离我很远,这一阵子算是这一年过的最开心最无忧无虑的一段时间了。

      在国内感染疫情人数增长不太多的三月中返京,租的房子里没有暖器,天天差不多中午才起床点份外卖吃完继续躺床上(555,别骂了,我知道错了。天天打csgo,最后打到一种程度就是我跟别人打死斗会有几个暴躁老哥被我杀破防了把我当挂举报了(注:人生巅峰)。这一阵子大致决定了接下来要搞浏览器或者Windows内核,跟着琦哥的博客仔细分析了一个windows内核逻辑漏洞CVE-2016-0167,现在已经记不清任何细节跟漏洞根源了,只记得触发流程很复杂很复杂,然后对Windows有了心理阴影。接着就开始搞浏览器呗,最开始搞得是常出现在CTF里边的chrome v8,很庆幸的是搭环境没有搭很久,记得搭了一两天连源码带编译就整好了,然后觉得自己好有这方面的天赋(naive)。开始分析了一个出现在plaidctf的一个v8 rce issue 821137,一开始看起v8的源码来还是感觉很懵的,后来靠看函数名猜意思大致搞懂了漏洞的根源,觉得不过如此嘛,Google程序员也犯这种不太高级的错误嘛,我tm好有天赋啊,我就是下一个sorrymybad。然后决定挖挖chrome的洞,事实证明这也是造成接下来一段时间是这一年中过的最煎熬怀疑自己的根本原因。

      挖v8一开始是用yyds saelo的fuzzili,直接github点击下载代码解压跑fuzzilli,跑了好久都没结果,然后这段时间分析了一些其他js引擎的漏洞跟利用CVE-2019-5791、CVE-2018-4441。这么跑下去一直没结果不是事啊,一直没崩溃我怎么做sorrymybad啊,然后换了jsc开始跑,这下有结果了?!跑了两天多就有一个jit的崩溃,激动的马上提了https://bugs.webkit.org/show_bug.cgi?id=211881,但是貌似最初是当一个bug而不是security bug提交的,sb apple说他们看到的时候已经修复了,艹,我都把这个崩溃的文件名改成first_cve了你们却这么对我,sb apple,自此决定不再给sb apple提洞了,事实证明这个决定也是错的,没人能逃过真香定理。

      fuzzilli在跑出这个崩溃后又改了点东西跑了很长时间v8跟jsc,都没结果,然后开始怀疑自己了。时间差不多到了六月份,这段时间从github上点击下载并解压了很多代码,看了编译原理(少年,你渴望力量吗.jpg),开始研究js引擎主要的两个攻击面jit跟wasm,然并卵,这东西并不是你知道攻击面就能挖到洞的,况且只要是个人就知道这东西。看p0的漏洞提交记录,看yyds saelo等讲他们怎么通过按住鼠标往下滑的方式挖洞(瞧瞧人家),怀疑人生。这段时间通过看p0提交的漏洞对漏洞的理解还是深了很多,自己写了一些工具,也提交了几个崩溃,但是还是没有CVE跟bug bounty。

      差不多到了九月底,这时候已经黑化,我tm现在只想要一个CVE。开始不管啥东西都想挖挖看,事实证明这在有些时候可能是有用的,翻p0的博客翻到了一篇yyds saelo搞sb apple 0 click漏洞找的目标ImageIO,没有mac也没有iPhone就先试了试openexr(如果有富婆,划掉,富萝莉看到这里能看穿我的逞强保护我的脆弱赞助我一台mac就好了),然后挖到了两个越界写一个堆溢出,就给sb apple提了(笑)。sb apple认为两个越界写在他们的设备没法触发,只有堆溢出给CVE(sb apple)。这段时间由于已经黑化,彷佛忘了当初CVE-2016-0167给我带来的阴影,认真分析了下三月多爆出来的CVE-2020-0796(的LPE),可能是由于研究浏览器的时候顺带更会看代码了,感觉逆起来没太吃力(呸),也就花了半把来月就把漏洞跟EXP看懂了。

      然后开始想搞Windows了,毕竟每个月更新都有一页显示不完的洞,还有msrc top 100跟巨硬的认可的诱惑,好香。决定正式搞Windows之前先从一个小目标入手,foxit reader,就是你了,然后花了差不多三四天的时间通过按住鼠标往下滑的方式挖到了一个洞,还是一个可以rce的(看到这的同学们,赶紧卸载它吧,好tm蠢)。提交了这个漏洞然后正式开始搞Windows,翻yyds j00ru的漏洞提交记录跟他的一些演讲,这段时间养成了翻官方文档的好习惯,感觉还是变强了很多。从十月中到现在这段时间就在搞一些windows格式解析的库,挖到了一个font library跟一个gdiplus的崩溃,但是巨硬没认也不修(md我就这样,只能崩溃不能利用就是没影响,Windows平台的软件用了崩溃了是你活该,你来打我啊)(好歹你tm修一下让我接下来好fuzz不至于每次都卡在同一个地方啊,shame on you,巨硬)。还有一个蓝屏崩溃巨硬在修,希望能有CVE,这样我就也是一个被巨硬认可的男人了。

      emm,总结一下,人跟人的差距比人跟狗都大,别老天天看着别人尤其是p0的漏洞提交记录跟奖金怀疑自己。也别急于求成,好好读读文档,know it then pwn it,开始搞浏览器的时候并没有读文档的习惯,现在想来当初啥都没搞出来可能跟这个习惯也有点关系。以后变强了可能会继续搞搞浏览器,也可能会尝试搞搞Windows kernel,总之,这一年对一句话有了真切的理解:

    “而世之奇伟、瑰怪、非常之观、常在于险远,而人之所罕至焉,故非有志者不能至也。”

  • 相关阅读:
    HTML5 JSDOM
    svn 基本操作
    Flex布局
    git上传布置代码 git优势
    jsonp, json区别
    require.js 模块化简单理解
    @vue/cli 3 安装搭建及 webpack 配置
    npm 常用命令 使用命令删除 node_modules 包
    package.json字段分析
    rem适配方案
  • 原文地址:https://www.cnblogs.com/snip3r/p/14217423.html
Copyright © 2011-2022 走看看