关灯
护眼
字体:大 中 小
上一章
目录
下一页
他已经连续熬了三个通宵了。
“该死的……还是不行。”
克里斯狠狠地薅了一把头发,看着手里那缕断发,眼神里充满了绝望。
“我们尝试了所有的方法。USB协议模糊测试,基带命令注入,甚至是暴力破解密码锁……全都失败了。”
“苹果把这个系统锁得太死了。沙盒机制就象是把每个应用都关进了单人牢房,哪怕我在Safari里找到了漏洞,也没法跳出这个牢房去访问其他文档。”
旁边的几个黑客也是一脸死灰。他们都是顶尖的高手,但在乔布斯筑起的这道高墙面前,第一次感觉到了无力。
“也许……我们需要换个思路。”
一个声音在门口响起。
顾清舟走了进来。他穿着整洁的衬衫,手里提着几杯热腾腾的咖啡,和这间屋子里的颓废气息格格不入。
“老板,你来了。”克里斯有气无力地抬了下头,“抱歉,我们可能……搞不定了。”
“别急着认输。”
顾清舟把咖啡放在桌上,拉过一把椅子坐下。
他看着屏幕上那些密密麻麻的反汇编代码,那是ARM架构的指令集,普通人看一眼都会头晕,但在他眼里,那是通往自由的地图。
“克里斯,你一直在尝试攻击内核,攻击基带。这就象是想用铁头去撞开城门。”
顾清舟拿起一支马克笔,在白板上那个复杂的架构图上圈出了一个不起眼的角落。
“为什么不试试……给守门人送一杯毒酒呢?”
“毒酒?”克里斯愣了一下。
“Safari流览器是用来喧染网页的。网页里有什么?有文本,有视频,还有……图片。”
顾清舟在白板上写下了一个词: libTIFF 。
“这是一个开源的图片处理库。苹果为了省事,直接把它拿来用了。但我记得,这个库的老版本里,有一个很有趣的特性。”
“当它在处理某种格式畸形的TIFF图片时,如果图片的头部信息里声明的大小,和实际数据的大小不一致……”
顾清舟顿了顿,眼神变得锐利。
“它会发生什么?”
克里斯的瞳孔猛地收缩。
作为黑客,他对这种底层的内存逻辑太熟悉了。
“缓冲区溢出!”
克里斯猛地站起来,碰翻了手边的红牛罐子。
“如果图片声明的大小比实际小,内存分配就会不足。然后,当库函数试图把图片数据写入内存时,多出来的数据就会……溢出!”
“没错。”顾清舟点了点头。
“溢出的数据会复盖掉后面的内存空间。如果我们在那张图片的数据里,藏一段精心构造的机器码……”
“我们就能劫持程序的执行流!”克里斯兴奋得浑身发抖,“我们可以让Safari跳过沙盒的检查,直接执行我们的代码!”
“这就叫——给守门人灌毒酒。”
顾清舟笑了。
“只要用户用iPhone访问一个包含这张‘毒图片’的网页,Safari就会崩溃。但在崩溃的那一瞬间,我们的代码就已经注入进去了。”
“在那一瞬间,我们将获得系统的最高权限——Root。”
仿佛一道闪电划破了黑暗。
整个地下室瞬间沸腾了。
“快!查文档!libTIFF的源码在哪里?”
“我来构造图片头!偏移量怎么算?”
“准备好Shellcode!我要写一个最精简的挂载脚本!”
刚才还死气沉沉的黑客们,此刻象打了鸡血一样。键盘的敲击声密集得象是一场暴雨。
顾清舟没有说话,只是静静地坐在角落里喝咖啡。
他看着克里斯那双在键盘上飞舞的手,看着屏幕上不断滚动的十六进位代码。
那是人类智慧与机器规则的博弈。
也是一场关于自由的战争。
时间一分一秒地过去。
凌晨四点。
克里斯的手指终于停了下来。
“好了。”
他的声音沙哑,但透着一种压抑不住的狂喜。
“毒酒酿好了。”
他指了指屏幕上那个看起来普普通通的网页链接。
“只要点开这个链接,Safari就会加载那张特制的TIFF图片。然后……”
克里斯拿起旁边那台用于测试的iPhone,深吸了一口气。
所有人都围了过来,屏住呼吸。
手指按下。
加载中……
本章未完,请点击下一页继续阅读>>『加入书签,方便阅读』
上一章
目录
下一页