第203章 缓冲区溢出攻击
第203章 缓冲区溢出攻击 (第3/3页)
【米娅,那里的地址是多少?】
米娅:【经过计算,是DF19。】
墨莫点点头,不再输入千篇一律的FFFF,而是接着输入:DF1A……
当墨莫输入的时候,四楼的缓冲区,那保存着旧程序的IP值的那一格,被墨莫输入的数据覆盖掉了,直接变成了DF1A。
前面说过,这台机器的各个程序没有权限高低之分,IP的值在内存的哪里,那么那段内存上的程序就完全享有计算机的所有操控权。
墨莫此刻这个输入程序,那就是最高程序,输入什么,就一定会在内存里写什么,不管前面是什么东西,统统会给覆盖掉。
在覆盖掉旧程序的IP值后,墨莫根据解析出的CPU指令,开始在后面的内存空间中写程序。
这上面大概还有1MB的内存空间,对墨莫这种级别的程序员来说,甚至都可以做一个操作系统了。只见墨莫手指飞快,不停的在16个按键上按着。
四楼那原本是缓冲区的位置,也被飞快的改写着。
旧程序的IP值被覆盖,然后是旧程序的BP值被覆盖,然后是旧程序的数据被覆盖,乃至上面的更旧的程序、更上面的更更旧的程序的数据,纷纷被墨莫输入的代码覆盖。
直到,墨莫一直写到了内存的终点。
然后,墨莫手扶着这个操作台的水晶盖子,轻轻的合上了。
深海脑魔触手上的眼睛猛然睁开,恶狠狠的盯着墨莫,它好像看到了,下一刻,墨莫就会被那里的机关融化!
在墨莫合上盖子的那一刻,位于内存大楼二楼的这个程序,终于执行完毕。
内存大楼四楼缓冲区,DF19位置的内容,被传送给对面处理器的指令指针寄存器——IP。
正常情况下,按照机器的执行顺序,这个值就是旧程序的代码在内存二楼的位置。IP将执行位于那里的旧程序,也就是将计算机的控制权还给深海脑魔。
然而,这个值,早已不再是原来那个值了。它被墨莫替换成了——DF1A。
DF1A就是DF19的上一格,而那里的程序,不就是刚刚墨莫写的那些代码吗?
于是,机器开始忠实的执行墨莫输入的代码:
第一步,建立权限系统,只有特定代码前缀的程序,才可以被执行,否则就是无效的。
第二步,运行控制台输入程序,使得墨莫可以通过这个控制台继续编程。
深海脑魔等了几秒,等着墨莫被那个机关融化,然而那控制台的机关毫无反应。
不仅如此,它还发现,那个每次和它的牢房交换信号的程序,不见了!自己再次与这台机器断开了联系。
‘难道他成功了?’深海脑魔暗暗思索,‘怎么可能?他按了那么多下,怎么可能有那么长的密码?就算有,他又是怎么知道的?’
如果这使它困扰,那接下来发生的事,就让它感到恐惧了。
下一刻,关了它几百年的牢笼,这个魔法水晶构造的房间,在一声轻响过后,慢慢打开了……