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