手机浏览器扫描二维码访问
这个功能可以简化一些运算,比如逻辑上要给一个数字乘以2然后输出,在有些时候都不需要运算,只需要将这些数字输出完后,再在后面填上一个nop,让等待填装的接收区在数字后因此自动填上一个0,就可以实现乘2进位的目的。
还有一个重要的作用,就是通过nop指令可以产生一定的延迟功能。
虽然没有输出,但是nop指令同样是需要占用计算机的执行时间的,加上循环次数,就可以在相应次数的指令执行时间,让程序实际上实现“暂停”的功能。
计算机在执行程序的时候,经常是在共用缓冲区内存储数据,这个缓冲区常常需要清空操作,等待总线恢复成无数据运行的状态,巧用nop指令,就能够实现这样的功能。
然而就是这么有用的一条指令,被有心人发现了新“用处”。
在操作系统当中,指令的输入与返回,是通过堆栈来进行的。
堆栈大体来讲好像一个仓库,仓库分作了几个区域,每个区域用来存放一堆“门牌号”,这样的门牌号,在单片机系统里叫做“寄存器”,程序调用时,工作方式就是挨着读取这些门牌号,将这些地址对应的寄存器中内容读入到栈中,最后将计算结果存放到返回地址当中去。
这时候就有人想到使坏了,因为堆栈的内容填充是从低地址向高地址进行的,最高的位置就是结果地址。
要是在低地址区,比如变量区,给变量填充一个巧妙构造的超长字符串,让这个长字符串超过高地址区,其实就会拿这个变量的后半部分内容,替换掉了返回地址的“门牌”。
将这个“门牌”设置成某个变量的地址,那么现在的返回地址就变成了指向这个变量,如果这个变量当中盛放的是恶意代码,于是这个恶意代码就被成功地读取进了系统里。
这个方式,叫做“堆栈缓冲区溢出”,通过缓冲区溢出,我们能改变程序原有的正常执行流程,去改为执行黑客准备好的恶意代码。
这套操作在dows系统上一用一个准,也是周至他们研发的防火墙和杀毒软件所保护的重点。
但是这个问题在unix为基础的系统上却并不存在,因为unix系统对于结果缓冲区的地址分配是随机的,也就是说其返回结果的地址并不一定就在变量地址的后面,可以被黑客轻易推测到,并且利用缓冲区溢出功能轻易替换。
四叶草集团的内部系统,其实使用的就是基于unix架构的自主系统,服务器版的s系统。
不过论坛的信息技术板块上,有人提出过一个攻击方法,那就是“nopsled”,翻译过来就是“空操作雪橇”。
论文指出,虽然unix体系的结果返回地址是随机的,但是只需要在实际的攻击代码前注入很长的nop指令,就可以清出一个很大的空间序列来。
然后还是用之前的缓冲区溢出方式进行攻击,只要将程序的控制流指向该序列任意一处,程序计数器逐步加一,直到到达攻击代码的存在的地址,并执行。
这就类似于将之前一个小小的靶子变成了一个巨大的墙,之前需要将箭射中靶子才能完成攻击,现在只需要将箭射到墙上,箭就会被自动送到墙上挂着的靶子上去。
从程序的执行上来看,这就好像是通过滑雪橇的方式,最终访问到雪橇的终点一样,因此被形象地称为“空操作雪橇”。
这个想法从理论上看是可行的,但是在实际操作中却存在许多难题,首先就是你要有在系统上运行恶意代码的机会。
胡天宇他们经过女娲日志分析,发现是从新版的四叶草浏览器开始中招的。
新版浏览器采用的java核心,为了鼓励大家的研发积极性,四叶草集团还发布了研发工具jdk,包括了java运行编译环境,以及一堆java的工具和类库,并且在不断地进行扩充。
有了这个,所有的程序爱好者都可以设计出一些嵌入式软件,将之嵌入在自己的主页当中,以便他人访问的时候发现“惊喜”。
以前的浏览器所看到的网页都是静态的,有了这个嵌入式工具后,就能够将一些炫酷的动画、小视频、音乐、动态字体效果嵌入到网页上,获得的效果当然是相当惊人的。
现在论坛上就挂着许多用java开发的“软件皮肤”,几乎年轻人喜欢用的软件如四叶草播放器,扣扣,输入法等,都有专门的工作组开发出各种花里胡哨的皮肤来。
甚至有心大的工作组,都开始打起如dows,ac这类大型操作系统的“皮肤”替换主题来。
因为java应用是四叶草公司刚刚推出的研发工具,公司内部程序员和论坛中的程序开发爱好者有着高度的重合度和深化合作,在这样的情况下,就难免会有人将外部论坛上的那些小软件,偷偷安装到单位内部的系统上来。
当然了,一般的软件皮肤这种哄年轻人开心的小噱头还引不起四叶草集团程序员违背公司的制度,但是有一款非常方便java开发的代码编写环境的话,那就不一样了。
这位黑客就是这样的一个高手,他在论坛上发布了一个叫做jdknotepad的工具软件,其实就是一个十分方便用于jdk程序开发的工具,集成了程序员非常喜欢的自动排列代码,功能查错,多色函数首尾匹配,可隐藏注释,版本自动记录等非常方便的功能,最夸张的是还有一个自动优化功能,可以在一定程度上将程序调整得更简洁,更合理,排布更清晰明了,能够极高地提升程序员java程序开发的工作效率。
事后经胡天宇秘密调查,公司里安装了这个软件的人不在少数,在有些部门甚至成了一个普遍现象。
然而谁都没有想到,有一段恶意代码就藏在这个软件的自动优化功能当中。
四叶草公司有严格的制度规定,每个程序都有一定的署名规范,严格按照i软件产品标准来执行,每个程序的开头都会有标准注释,表明这个程序的名称,作者,所属部门,程序版本号,历次修改者,修改时间等信息。
这个jdknotepad也非常的贴心,设置了预置选项,只要你将这些信息事先填成它管理的参数,以后在你调用程序开发模版的时候,会将这些信息都给你在程序中提前写好,程序员就无需再做这些重复性的工作,直接在代码区开始敲代码就行。
然而他们没有想到的是,这些信息被黑客用巧妙的方式获取了。
科技巨头从人生模拟器开始 克苏鲁世界的怪医 开局几亿个满级账号 三国:重生曹丕,开局就举报刘备 战神殿之主萧辰 无限之恐怖猎杀 明末最强族长 从考古开始走向巅峰 三国之白马天下 我在忍界掀起亡灵天灾 尸香门第 我和空姐在荒岛 灵笼:从末世开始无限模拟器 神村帝师 镇国龙婿免费 斗罗天榜现世,我身份瞒不住了! 萧辰韩雨芸 暴君爹爹的团宠小公主下山了 我在地球当影帝 重生之梦醒难分
岳母滚,现在就给我滚,你配不上我苏家。叶天是一名上门女婿,从小卑微被人冷眼。直到有一天,他获得神秘传承。岳母以前都是我的错,求求你留下吧...
幽深的莽荒山脉,一位被追杀至此的少年。绝地反击。奇异的邂逅,踏上道之彼端。勇者无畏,智者无惧,仁者无敌。...
当北冥神功降龙十八掌六脉神剑等一些超级武功集于一身的时候,当一个被压抑很久的现代人来到了一个热血江湖的时候,他会过着怎样的生活?是行侠仗义?还是隐退江湖?是碌碌无闻?还是要书写属于自己的热血江湖的传奇故事?一切都在降龙无极之中。不一样的修真,不一样的仙侠。是经典的回顾,是热血的篇章。神通等级小成,大成,化境,道境,极境。修为等级后天,先天,化凡,悟道,山海,御虚,炼星,天位,极道。书友一群87079918书友二群120826625...
...
天道将倾,玄道领袖玄元门却一再遭受重创,少年萧原,无父无母,意外卷入纷争,探苍梧,入玄元,却又有许多身份隐秘的人有牵涉不清的关系。唐皇子李隆基,在社稷争夺之战中,却意外发现所从小携带玉佩与天下玄机,气脉又有数不清的隐秘关系。天狐一脉,至今世所残余已是极少之数,狐岐山青璃带着前世残存记忆,努力在今世寻找一人,结果又会怎样。天道大乱,黄泉之主出世,玄元门覆灭,肩负着重托的萧原和暗影门中人,潜伏与魔教各个门派之中。玄元密徒杨氏国忠,萧原青梅竹马紫兰,九尾天狐,玄元掌教清虚,又各自携带着众多秘密,卷入到这场纷争之中。...
新炎黄历八百年,世界早已告别古修真时代,步入现代。交流共赢,既竞争又合作是当前时代的主流。有人一只宝葫炼万物。有人大梦平生我先觉。有人天生神人起凡尘未知的道理,无尽的星空是所有修士共同的全新征途。一艘先进程度超越时代,却又来历神秘的彼岸神舟,载着少年沈健驶向宇宙大航海时代。新时代修真,未来在星空,乘风破浪会有时...