陶:“你对历史的见解很独到,你可以考虑报考历史专业”
我直接撸起袖子,露出肱二头肌,“其实我想报考体育”
陶:“去你的,细胳膊细腿,一看就不是练体育的料,想报体育你不如考个国家二级运动员,今年高考的政策还有加分呢”
我:“哦~有加分!我研究一下,回见”
从陶老师这里了解到,八位同学们读书的热情很高,他们交上来的读书心得的质量很好,现在会员数量已经达到9人,说明他们全通过了,陶老师格外修改规则,每个人可以介绍8个人,这意味着第二批会有64个新同学。这股学习的风会随着这项借阅制度的展开,刮遍整个第一中学。
紧接着又有点犯难了,图书借阅的管理系统需要升级,符合这个借阅规则。我想,对于我这前世码农来说,这不难。要到源代码之后,我开始重编程序。
陶老师有点不信我会编程,我从阅览室内拿出一本经典的 《the program language c》,放在陶老师面前,您随便问,答不上来算我输。
我之所以敢这么造次,是我断定,所有老师没有一个会编程的。编程这方面,我带着前世记忆,在此刻是绝对的碾压。
陶老师翻着这本书,久久不说话。“这本鬼画符,我是看不懂,不过我能找到会的人来问你,你可要有心理准备哦~”
我很自信的说:“没问题”。我就不信,我十几年的编程经验,还抵不过近几年初出茅庐的人?
一天下午放学,班主任通知我去找图书管理员,我进去之后,看到几个人坐在这里有说有笑。其中有电脑城老板,还有他手下两个小弟,黑~我表哥也在。
开场白,我才知道,是陶老师找到电脑城老板,那是他的学生,电脑城老板找到表哥,而表哥是计算机专业出来的,我现在才知道表哥大学的专业……真是浪费啊,现在的科班大学生那是各个企业争抢的对象,比如金山、百度、谷歌之类的,他却选择公务员。
“小月你会编程?从哪学的啊?不显山不露水的”,表哥感叹
“我自学的啊,自打家里有电脑,就开始自学”
“哈哈~这样就敢承包图书管理系统,如果你能做出来,大学都可以提前毕业了。”
我:“那我们开始?”
哥:“好~让你死心”,表哥脸上洋溢着自信,那是对大学四年的知识的自信。我的脸上也洋溢着自信,那是多年码农的自信,多次面试养成的扑克脸。
紧接着,我感叹道,表哥不去当码农真的屈才了,他在大学学到的知识真是扎实,问我的包括计算机基础知识,数据结构,关系型数据库,以及网络套接字,tcp\/ip协议,面向对象。我都对答如流,而且都是标准答案。对于这种课本上的知识,我也是印象深刻啊。从2023年穿越而来的我,自然知道面试八股文,这都是多年码农经历必备的。
接下来陷入了冷场了,看得出来表哥问不出什么花样。轮到我发难了。
我在黑板上写下一段c语言程序,十分简单
int func(char* b){
char a[8]={0};
,b);
}
“表哥你来看这段程序有没有问题”
他一下指出,strcpy参数的类型是void*,这里会触发编译器警告。
“没了?”
“没有返回值,会返回一个随机值”
“还有吗?”
“没了”
我:“看来您也是学业不精啊,微软网站上已经公布了一个系统漏洞,名叫rpc远程代码执行漏洞,这个漏洞就是由strcpy引起的”
哥:“一个strcpy能引起什么?”
我:“缓冲区溢出,正常的思维就是char*b 不会超过8字节,对吧。但是如果它是个精心构造的,那可就坏了”
哥:“能怎么精心?”
我:“字符串遇到0为结束,换句话说,字符串拷贝也是一样。如果我在a数组上拷贝一个超长字符串,把栈上的内容覆盖了,会发生什么”
哥:“程序崩掉”
我:“这是一般人看到的,我是说,这个字符串精心构造,把栈内容覆盖,还不让程序崩掉,甚至于把存储返回地址的地方也覆盖,那么函数返回就跳转到我精心构造的部分!我在这段汇编代码中,写入攻击代码,这样不就窃取了系统权限?劫持了系统进程?”
哥:“我擦……还能这么玩?这就是在任何进程里,执行任意代码了啊!”
我:“就