首页
社区
课程
招聘
[分享]我是一个IE浏览器线程
发表于: 2019-11-28 11:24 2306

[分享]我是一个IE浏览器线程

2019-11-28 11:24
2306

前情回顾:

我是一个explorer的线程

我是一个杀毒软件线程


我叫小张,是一个浏览器公司的线程,我们公司的名字叫Internet Explorer,大家都简称我们叫IE,公司负责的业务是向人类提供网页浏览服务。
可能你们也听说了,自从那个Firefox公司和Chrome公司成立以来,抢走了我们不少市场份额。不过呢,瘦死的骆驼比马大,我们凭借和政府特殊的关系,还是能搞到不少业务单子的,再说了,我们是老字号浏览器,很多老的网站必须要咱们才能打开,所以日子是比以前是紧了一些,但还是能勉强维持下去。

网页浏览这活其实不好干,需要的人手很多,所以不像隔壁做文本编辑的notepad公司和做计算器服务的calc公司,咱们IE是个大集团,总公司负责整体业务协调安排,下面随着业务的扩展动态的设立了一些子公司,总公司绝对控股。
一般来说,人类每打开一个网页,咱就会新成立一个子公司单独处理,当然有时候业务实在太多了,也会让一些比较闲的子公司一并来处理多个业务,毕竟成立公司要耗资源,成本不低。如果人类打开进程管理器,就可以看到我们集团的组织架构了:

有次听说隔壁的Firefox浏览器公司不像我们这样搞,全部业务都在一个公司处理,不知道他们怎们协调的,管理起来不会混乱吗,我挺好奇的。


我们每个负责处理业务的子公司里面也是井井有条的,每个线程员工都分工明确,像老张负责网络请求,小雪负责GUI的渲染,我呢是负责执行JavaScript的JS引擎线程,还有一些其他人,有时间再一一介绍。


“各单位注意:QQ邮箱有业务来了”,正在这时,集团总部广播来了。
QQ邮箱有段时间没来找我们了,终于想起我们了。
子公司老大从Kernel32办事处的GetCommandLine窗口拿到了这次的业务单子:http://www.9birds.com/loki/meinv.htm
老张很快通过网络取到了这个meinv.htm文件,交给小雪妹子去开始渲染。小雪才刚开始没做几步就交给了我,“有<script>标签,该你表演了,张哥”。

轮到我了,摩拳擦掌,开始干活。我拿到一看,咦,这人类程序员写的js代码咋这么奇怪,跟我之前看到的不太一样。不管了,干活不能挑三拣四,按他写的执行就是了。
人类写的JS代码看起来很复杂,其实在我眼里跟用C/C++写的代码一样处理,都是函数调用,对象申请与释放这些活而已。
就在我工作了没多久,突然听到公司广播:“所有人停止手上的工作,361杀毒公司来人检查了”。


广播刚刚结束,戴着墨镜的男子带了几个人闯了进来,“抱歉打扰各位工作,刚刚我们361杀毒公司检测到有人往国家的数据仓库——磁盘中写入了一个木马文件,调取监控记录后发现是你们IE公司的人,我们需要来调查取证,请各位配合下工作”。


我们所有人都停下了手上的工作,等待被检查,很快就到我的工位来了。墨镜男仔细翻看了我的工作栈台,随后他的对讲机里响起了同伴的声音:“周哥,我们在堆区发现了一些线索,您过来一下”。
墨镜男原来叫周哥,听完同伴的呼叫,他快速跑向了公司的堆区,几分钟后又来到我的工位。
“你叫什么名字?”
“我叫小张”,我开始有点紧张了,难不成我工作出了什么问题。
“这个木马文件kernerl32.dll是你写的吧”,墨镜男质问到。
“是我写的,可是,我不知道这是木马,我只是按JS脚本在做事啊”,我都能听到自己的心跳了,扑通扑通的。
“我刚才看了你的工作栈台,结合堆区的数据,我判定你们公司的代码存在一个UAF漏洞”。
“什么是UAF漏洞?”,公司老大走了上来问墨镜男。
“UAF就是Use After Free,释放后使用的意思,小张你看,这里这个对象是你释放的吧,但是释放完后你有去把指针重置为NULL吗?”
“额,没有,代码里面没有这条指令,所以我没做这事”,我弱弱的回答。
“然后你又申请了一个和原来对象一样大小的新对象,巧合的是,这个对象在堆区的位置用的就是刚才你释放的那个对象原来的位置。”,墨镜男继续解释说。
“然后呢?”,我还是不太明白问题出在哪里。
“然后你又用指向原来对象的指针去调用它的函数,但是现在那个位置上已经不是原来对象,里面的数据是新对象的,你想想要是这个新对象是有人精心构造的内容,你岂不是张冠李戴,掉入别人的陷阱了吗!释放后没有重置指针,还去使用,这个就叫释放后使用”。
“啊,原来是这样,这也太坏了”,我恍然大悟,闷头干活,却不知道早已中了圈套了。


“这不是第一次了,之前我们就捕获了这个木马,但一直不知道是怎么进来的。后来对这个文件名字进行了特殊的监控,只要发现有人去数据仓库创建这个名字的文件就会预警,等了几天总算是给我揪到了,原来是通过你们IE进来的。好了,现在真相大白,我们得回去汇报了,至于你们,等着被升级修复吧”,说完墨镜男一行匆匆离去。


我们几个垂头丧气,不知所措。
“大家别气馁,这不算啥,咱们IE公司自从成立以来,已经面对过很多次漏洞了,以前的栈溢出漏洞最多,不过这个UAF我今天也是第一回遇到,好好干自己的本职工作,集团很快就会发布更新修复这个问题的,你们不用太担心了”,老大安慰我们。


果然,没过几天,集团发布了更新,宣布了对公司一些部门的代码模块进行了升级,修复了前几天的问题。


没过多久,Windows帝国宣布改选,新一届政府上台,改年号XP为Vista。新一届政府对国家安全加强了重视,颁布了一项名为《关于进一步加强Windows帝国安全性,实施Integrity Level——完整性级别的规定》的新法规,对所有公司的权限进行了进一步的划分。
帝国所有的公司权限被划分了四等,权限从高到低是:System、High、Medium、Low。集团总部公司是Medium,而我们负责实际浏览网页业务的子公司都是最低等的Low。虽然说限制了我们公司的很多行为,很多事情都做不了,但是对帝国是一种保护,就算哪天我们又中了敌人的圈套,至少还有一道防线不让我们做出太多危险的事情。

后来,人类把我们公司的这种做法取了一个名字:沙箱技术。


“你们那玩具一样的玩意儿也好意思叫沙箱?笑死人了!”,隔壁Chrome公司的小赵发出了轻蔑的笑声。“怎么就不能叫了,你算老几”,我不甘示弱的回击他。“不跟你吵了,今天我很忙,改天给你看看什么叫真正的沙箱”,说完就扬长而去了。


未完待续·······


彩蛋1

361杀毒公司的老周汇报完本次安全事件后回到实验室,突然发现实验室窗边站着一个黑影。不待老周开口发问,那黑影先转过身来:“老周,你以为这世界上只有你在守护安全吗,你只是这更大宇宙中的一份子,我有一个计划想跟你谈谈。”


彩蛋2

“大人,探测到Linux帝国开设了nginx公司,目标8080端口,请下令行动”“很好,去吧,注意做好隐蔽工作,别暴露我们的坐标”



  

扫码关注,更多精彩



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 2
支持
分享
最新回复 (2)
雪    币: 2075
活跃值: (2536)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
好一个 说明文
2019-11-28 13:35
0
雪    币: 163
活跃值: (1623)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
可以当做故事看,不错哈
2019-11-29 17:11
0
游客
登录 | 注册 方可回帖
返回
//