前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我是一个IE浏览器线程

我是一个IE浏览器线程

作者头像
心莱科技雪雁
发布2020-02-26 11:40:05
4690
发布2020-02-26 11:40:05
举报
文章被收录于专栏:雪雁的专栏雪雁的专栏

我叫小张,是一个浏览器公司的线程,我们公司的名字叫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端口,请下令行动”

“很好,去吧,注意做好隐蔽工作,别暴露我们的坐标”

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 麦扣聊技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档