论坛: 黑客进阶 标题: 如何成为一个网络高手[转载] 复制本贴地址    
作者: zjhacker [zjhacker]    论坛用户   登录


    [ 我写这个并不是因为我已经厌倦了一遍又一遍的回答一样的问题,而是考虑到这确实是一个有意义的问题,其实很多人(90%)确实需要问这个问题而从来没有去问.]


    我被问了很多次有关于很多领域的问题. 比如:什么编程语言你最推荐? 应该读什么书作为开始? 总而言之,如何在安全领域内成为一个有影响的人. 既然我的答案和一般的答案有所不同,我打算把我的看法说出来.

                        从那里开始?

    我的观点可能和一般的看法十分的不一样。如果你是刚刚起步,我建议你---*不要*以 Technotronic, Bugtraq, Packetstorm, Rootshell (不知道这个是否还在运行?), 等等地方为开始。

    没错!*不要*从那里开始。(尽管他们是很好的站点,而且这里没有说你不要去访问他们的站点)。 原因十分简单。如果你以为通晓“安全”就是知道最新的漏洞,你将会发现你自己一无所获。 我同意,知道什么是好的,什么有漏洞是十分有必要的。但是这些并不能够给你的高手之路打下坚 实的基础知识。很好,你知道RDS 是最新的漏洞,你知道如何下载并使用利用这个漏洞的SCRIPT 工具。你知道如何修补这个漏洞(也许。很多人只知如何攻击,不知道如何防护)3个月后,补丁漫天飞舞。这个漏洞已经不存再了------现在你的那些知识还有什么用?而且还不算你可能根本没有理解漏洞的分析。
    你的知识是什么? 分析?还是攻击手段?
    这是我想要再一次强调的。人们可能没有注意,已经有很多人认为只要他们知道最新的漏洞他们就是安全专家。NO! NO ! NO!所有他们知道的只不过是“漏洞”,而*不是* “安全”。


    例如:你知道有关于PHF 的漏洞,SHOWCODE。ASP 的漏洞。COUNT。CGI 和TEST-CGI 的漏洞。 但是你知道为什么他们会成为CGI 的漏洞吗?你知道如何编一个安全的通用网关吗?你会根据一个CGI 的工作状态来判断他可能有哪些漏洞或那方面的漏洞吗?或者, 你是不是只知道这些CGI 有漏洞呢?

    所以我建议你*不要*从漏洞开始。就当他们不存在(你知道我的意思)。你真正需要做的是从一个普通用户开始。

                        做一个用户

    我的意思是你至少要有一个基本的常规的知识。例如:如果你要从事 WEB HACKING 你是否可能连浏览器都不会使用?你会打开NETSCAPE , 打开IE? 很好! 你会输入姓名。你知道 。HTML 是网页。 很好。。。 你要一直这样下去,变成一个熟练的用户。你会区别ASP 和CGI 是动态的。
    什么是PHP ? 什么是转向?COOKIE? SSL?你要知道任何一个普通用户可能接触到的关于WEB 的事物。 不是进攻漏洞,仅仅是使用。没有基础的(也许是枯燥的)的这些东西你不可能成为高手++。 这里没有任何捷径。
    好, 现在你知道这里的一切了, 你用过了。在你HACK UNIX 之前你至少要知道如何LOGIN 。 LOGOUT 。 使用 SHELL COMMAND 。 使用一般的常用的程序。 ( MAIL , FTP ,WEB 。 LYNX 。 等等)。 你要想成为一个管理员,你要知道基本的操作。


                        成为一个管理员

    现在你已经超过了一个普通用户的领域了。 进入了更复杂的领域。你要掌握更多的东西。 例如:WEB 服务器的类型。 和其他的有什么区别?如何去配置他。想这样的知识你知道的越多意味着你更了解他是如何工作的。他是干什么的。你理解HTTP 协议吗?你知道HTTP 1。0 和
HTTP1。1 之间的区别吗?WEBDAV 是什么?知道HTTP1。1 虚拟主机有助于你建立你的WEB 服务器。。。。 深入, 深入。

    操作系统?如果你从来没有配置过NT 你怎么可能去进攻一个NT 服务器?你从来没有用过RDISK, 用户管理器, 却期望CRACK 一个ADMIN 的密码,得到用户权限?你想使用RDS 而一切你在NT 下的操作你一直是使用图形界面?再一次, 你需要从管理员上升到一个”超级管理员“。这里不是指你有一个超级用户的权限。而是你的知识要贯穿你的所有领域。很
好, 你会在图形界面下添加用户,命令行方式怎么样?而且,那些在 SYSTERM32 里的。EXE 文件都是干什么的?你知道为什么USERNETCTL 必须要有超级用户权限?你是不是从来没有接触过USERNETCTL?深入, 深入。。。。

    成为一个”百晓生“这是关键。不要以为知道如何作到就行了(骗老板可以,骗进攻者??。。。)尽可能的知道越多越好。成为一个技术上的首脑。但是。。。。。。


                      你不可能知道所有的事情

    哎!这是生命中不得不面对的悲惨事实。不要以为你能。。。。如果你认为你可以。 你在自欺欺人。你需要做的是选择一个领域。一个你最感兴趣的领域。进一步的学习更多的知识。
    成为一个用户, 成为一个管理员, 成为一个首脑。成为在某领域的最优秀的家伙(小伙,姑娘) 不要仅仅学习如何使用WEB 浏览器,怎样写CGI 就行了。知道HTTP ,知道WEB 服务器是干什么的,怎么干的。知道在那里找答案。知道当服务器不正常工作时应该怎样让他工作。

    当你在你的领域内有一定经验时,你自然就知道怎样进攻了。

    这其实是很简单的道理。如果你知道所有的关于这里的知识,那么。你也知道安全隐患在那里。所有的漏洞,新的,旧的,将来的,你自己就能够发现未知的漏洞(你这时已经是一个网络高手了),你,找漏洞,是的,可以,但你必须了解你要找的一切先。

    所以,放下你手中的WHISKER 的拷贝。去学习到底那些CGI 是干什么的。他们怎么使通过HTTP使WEB 服务器有漏洞的?很快你就会知道到底WHISKER 是干什么的了。


                        编程语言

    一些最近我经常被问的问题中最常听的问题就是 我认为什么编程语言应该学:

    我想这要根据一些具体情况。----大致上是你准备花费多少时间在上面,你想让这个语言有多么有用。一个程序要多长时间完成。和这个程序能完成多么复杂的事情。
    以下有几个选项(排列没有什么意义)。


Visual Basic.
- 非常容易学习的语言。很多这方面的书,公开的免费原代码也很多。你应该可以很快的使用他。但是这个语言有一个限度。他并不是象 比如 c++ 一样强大。你需要在WINDOWS 下运行他。需要一个VB 的编程环境(不论盗版还是正版的 ,反正他不是免费的)。想用VB 来编攻击代码,或补丁是十分困难的。

C++
- 也许是最强大的语言.在所有的操作系统里都有.在网上有上吨的原代码和书是免费的。包括编程环境。比VB 要复杂一点。也许要掌握他花费的时间要比VB 要多一点。简单的东西容易学,干复杂的活的东西理解起来也要复杂一点。你自己衡量。

Assembly
- 最复杂的,也是最难学习的语言,如果你把他当作第一个你要学习的语言,那么将会难的你头要爆裂。但是,你先学了汇编,其余的还不是小菜 ;) 有一些书,这方面的教材有减少的趋势。但是汇编知识对某些方面来说是致关紧要的。比如:缓冲逸出。攻击。很多这类的免费软件。但从这个语言开始是十分*困难*。

Perl
- 一个很不错的语言. 他象VB 一样容易.学习他相应的容易一些.他也象VB一样有限制,但是他在多数操作平台都能运行.(UNIX . 和WIN ).所以这是他的优势.很多这方面的书. (O'Reilly 'Camel' books), 而且这个语言是完全免费的.你可以使用他来作一些普通的攻击工具. 他主要是作用于一些文本的技巧攻击.不适合做二进制程序.

    我想这是所有你想知道的. 有把握的说 C/C++是最佳选择.

为什么发这篇文章?
    在这里我看到有很多人提问说谁可以教他呀??有没有高手可以教他,或
是怎么黑别人,看到这些问题我都不愿意去回答他,因为我觉得问这些问题的人很无知,问问题的人是在浪费时间,回答他的人也是在浪费时间,其实没有人可以帮你成为一个网络高手或黑客,只有靠自己,这个世界就是这样,你学习也要靠自己,如果你想要别人教你那你就到学校里去学吧,但是,在我知道的高手里
没有几个是从现在的学校里学成的,而大部分人都是自学而成的,只有你自己可以帮你,大家不要在浪费时间了,我决不会说我发这篇文章时绝对的对,但它至少可以帮助你,给你指一个方向,不论对于不对,请各位高手指正,我说的是真正的高手!




地主 发表时间: 10/15 14:36

回复: upxshell [kuangren]   论坛用户   登录
不错,支持。

B1层 发表时间: 10/23 13:57

回复: topwbn [topwbn]   论坛用户   登录
呵呵。。。听起来还真像那么回事。。

B2层 发表时间: 10/24 17:22

回复: wizard_y [wizard_y]   论坛用户   登录
有道理,功夫到了,自然就成高手了。


B3层 发表时间: 10/24 19:45

回复: ever110 [ever110]   论坛用户   登录
ding

B4层 发表时间: 04-02-21 11:12

回复: sniper167 [sniper167]   论坛用户   登录
水到渠成


B5层 发表时间: 04-02-21 18:05

回复: didier [didier]   论坛用户   登录
嗯嗯...转帖吗???好久下之前系雷敖到见过...

B6层 发表时间: 04-02-21 18:28

回复: lianjl [lianjl]   论坛用户   登录
我的目标也是做网络高手!希望N年后能实现。

B7层 发表时间: 04-02-22 16:14

回复: congwen [congwen]   论坛用户   登录
我好象在那看到过

B8层 发表时间: 04-02-22 20:13

回复: leilei [superhl]   论坛用户   登录
好好

B9层 发表时间: 04-02-22 20:55

回复: tuzi [tuzi]   版主   登录
文章不错
不过以后不要发在这了


B10层 发表时间: 04-02-22 21:24

回复: mcolorful [mcolorful]   论坛用户   登录
高手!!

B11层 发表时间: 04-02-23 14:31

回复: lenwu520 [lenwu520]   论坛用户   登录
看来我是成不了高手了,你写的东东我几乎看不懂~
以后多多指点~

B12层 发表时间: 04-02-23 18:54

回复: feitianmao [feitianmao]   论坛用户   登录
好好学习了

B13层 发表时间: 04-02-27 05:24

回复: zintaly [zintaly]   论坛用户   登录
我心里有想法了,希望20cn的朋友将来都成大就!

B14层 发表时间: 04-02-28 12:27

回复: lin990605 [lin990605]   论坛用户   登录
我明白少少,但`````还有很多不明白,我想学习,但我不知道应该从哪方面学起?请问谁有无有关这方面的书籍,能告诉我吗?我去买来自学~~

B15层 发表时间: 04-03-02 13:28

回复: haoweir [haoweir]   论坛用户   登录
我想问一下Assembly
是什么?

B16层 发表时间: 04-03-04 10:00

回复: zhaojh [zhaojh]   论坛用户   登录
你说的很好,顶!!

B17层 发表时间: 04-03-06 21:27

回复: longsky [longsky]   论坛用户   登录
讲的很好啊,请问JAVA如何啊?

B18层 发表时间: 04-03-07 16:15

回复: ease [ease]   论坛用户   登录
支持

B19层 发表时间: 04-03-07 23:38

回复: v_sign [v_sign]   论坛用户   登录
先学会走再学跑,不然会摔跤

B20层 发表时间: 04-03-09 09:19

回复: pillow_911 [pillow_911]   论坛用户   登录
                        对一个可能以后要用通过电脑来吃饭的我
被人家灌了以C语言为开头学的念头,说真的以前学校为什么要以C来开头学程序设计搞不懂
不过通过了一个学期的学习终于觉得C对于一个要开发软件的人来说可能会是一种利器!
学好C可以跟很多东西接轨的
  与
  unix等……

B21层 发表时间: 04-03-10 00:02

回复: fdcdrs [fdcdrs]   论坛用户   登录
i y w c/c++!!!

B22层 发表时间: 04-04-03 21:55

回复: lqfrla [lqfrla]   论坛用户   登录


B23层 发表时间: 04-04-04 01:03

回复: ping [dingxp]   论坛用户   登录


B24层 发表时间: 04-04-05 12:00

回复: stdhas [stdhas]   论坛用户   登录
我想做一个称职的网管,保证自己所管理的网络尽量不出问题。谢谢。

B25层 发表时间: 04-04-06 00:11

回复: lpb [lpb]   论坛用户   登录
不错, 写的太好了~~~~~~~  高手

B26层 发表时间: 04-04-07 11:16

回复: yaxianju [yaxianju]   论坛用户   登录
不错

B27层 发表时间: 04-06-12 16:47

回复: yaxianju [yaxianju]   论坛用户   登录
不错

B28层 发表时间: 04-06-12 16:48

回复: ds [wangyan1]   论坛用户   登录

说直起来容易做起来难

B29层 发表时间: 04-08-26 11:09

回复: mmgg00 [mmgg00]   论坛用户   登录
还是一步一步的做起比较好

B30层 发表时间: 04-08-29 13:19

回复: clark008 [clark008]   论坛用户   登录
原贴年代:2003

B31层 发表时间: 04-08-31 07:10

回复: tangnade [tangnade]   论坛用户   登录
顶一下~

B32层 发表时间: 04-09-07 09:51

回复: w9d2g3hbc8 [w9d2g3hbc8]   论坛用户   登录
看起来还行````````顶``````````

B33层 发表时间: 04-09-07 10:32

回复: raojianhua [raojianhua]   论坛用户   登录
请问C与C++是不是不同啊!!!

B34层 发表时间: 04-09-10 13:32

回复: yuxuehua [yuxuehua]   论坛用户   登录
但是在学你所说的基本功的同时,我们就不该学习比如说如何攻击之类的技术呢?
你的话虽然很有道理,但我觉得还是失之偏颇

B35层 发表时间: 04-09-10 20:12

回复: tangnade [tangnade]   论坛用户   登录
顶~~~~~~~

B36层 发表时间: 04-09-11 11:01

回复: hackerjune [hackerjune]   论坛用户   登录
呵呵,好东西

B37层 发表时间: 04-09-11 19:17

论坛: 黑客进阶

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号