一个典型的蠕虫病毒有两个功能型部件:传播和破坏,流行的蠕虫病毒大都是利用操作系统或者应用程序的漏洞(以弱口令和溢出最为常见),但常常并不会对宿主机造成“致命”的破坏。这两个特点使蠕虫病毒比普通电脑病毒传播得更快,影响力更大。一般来说,单一的蠕虫病毒只针对某种特定的漏洞进行攻击,所以一旦这种漏洞得到大范围修补,病毒也就没有了生存空间。更新这种设计,我把传播部件拆分开来:把扫描、攻击和破坏脚本化,主程序则负责解析这些脚本。例如针对ftp弱口令进行扫描,我们可以定义如下脚本: code: uid = iscript-0a21-2331-x #随机唯一编号 using tcp; port 21; send “user anonymous”; send crlf; send “pass [email]fake@nothing.com[/email]” send crlf; if (find “200”) result ok; next; [copy to clipboard] 解析了这段脚本后(我想这种脚本是很容易读懂的),我们再定义一系列的过程,把我们的蠕虫体upload上去,一次完整的传播动作就完成了。如果是溢出漏洞,为了简单起见我们可以采集远程溢出的数据包,然后修改ip地址等必要数据,再转发溢出数据包进行溢出(这种情况下要实现connect-back就不容易了,不过这些具体问题就待有心人去研究吧),例如: code: using raw; ip offset at 12; send “\x1a\xb2\xcc” …… [copy to clipboard] 主程序在完成传播后留下一个后门,其他宿主机可以通过这个后门与本地的蠕虫病毒同步传播脚本,这样每次有新的漏洞产生,宿主机的传播方式可以很快地得到升级。我们当然不会仅满足于这样一个蠕虫程序,扫描/攻击脚本的传播过程也是需要仔细处理的。 我们希望适应力(fitness)最强的脚本得到广泛的应用(看起来有点类似 蚁群算法 和 ga),所以我们要求得每个个体的fitness,当它和另一个体取得联系的时候就可以决定谁的传播脚本将取代另一个: fitness = number of host infected / number of host scanned 但也不能仅凭fitness就修改传播脚本,我个人觉得一个合适的概率是75%,20%的机会保持各自的传播脚本,剩下的5%则交换脚本。这样在维持每种脚本都有一定生存空间的情况下使适应性更好的个体得到更多的传播机会,同时,一些在某种 *** 环境下适应性不强的脚本也有机会尝试不同的 *** 环境。
怎样才能使失踪的人用微信定位(怎样才能微信定位找人)“过去每次到海岸城楼下的十字路口,GPS信号不好,导致开车的时候不知道到底该从哪个路口出。”来自深圳的王女士抱怨道,每次行车驶入海岸城的时候GPS导...
22图4 着陆页面解密代码该检测办法的长处:可快速检测,快速定位;System.out.println("Loaded Time-based sqlinject checks"); 判别是否有注...
生死狙击黑客加什么属性 攻击力、射速。攻击力(ATK):表示武器的攻击能力,影响武器对敌人造成的伤害。射速(SPD):表示武器的射击速度,影响武器在一定时间内能够发射的子弹数量。生死狙击手游武器属性有...
如今,人们的生活条件越来越好。越来越多的人选择追求物质之外的精神追求。 网上怎么查开的房记录查询(查开宾馆记录软件) 旅游作为大众化的追求方式,深受大家的喜爱。 一次旅行可...
一般来说,男性的性功能方面存在障碍时,肯定会导致阴茎勃起状态受到限制后,从而影响到性生活的进行。所以,当性功能存在不足或异常障碍的情况下,很多男性会通过服用伟哥的方式,使阴茎快速充血并勃起,从而能够有...
2000元如何理财?很多刚毕业的朋友的月收入都可能徘徊在2000元人民币左右,如果您是这样的情况,让我们来核算一下,如何利用手中的有限资金来进行理财。下面让我们看看每月2000元如何理财? 2000...