马上注册,结交更多好友,享用更多功能,让你轻松玩转闽南师范大学。
您需要 登录 才可以下载或查看,没有账号?立即加入
×
< >给所有相当“黑客”或是想学习黑客的朋友们,请你仔细看完这篇文章并静心考虑一下!</P>. L+ j! m+ w* g% U) h O* g
< > 从那里开始</P>: ?, r) D3 N! ?, T4 `4 G
< > 我的观点可能和一般的看法十分的不一样,如果你是刚刚起步,我建议你不要以Technotronic、Bugtraq、Packetstorm、Rootsh*ll(不知道这个是否还在运行?)等等地方为开始!没错不要从那里开始,尽管他们是很好的站点,而且这里没有说你不要去访问他们的站点。原因十分简单。如果你以为通晓“安全”就是知道最新的漏洞,你将会发现你自己一无所获。我同意,知道什么是好的,什么有漏洞是十分有必要的。但是这些并不能够给你的高手之路打下坚实的基础知识。很好,你知道RDS是最新的漏洞,你知道如何下载并使用利用这个漏洞的script工具。你知道如何修补这个漏洞(也许很多人只知如何攻击,不知道如何防护)!3个月后,补丁漫天飞舞,这个漏洞已经不存再了--现在你的那些知识还有什么用?而且还不算你可能根本没有理解漏洞的分析,你的知识是什么? </P>
; X* @4 e. D* ~) B< > 分析?还是攻击手段?这是我想要再一次强调的!人们可能没有注意,已经有很多人认为只要他们知道最新的漏洞他们就是安全专家。</P>
/ o$ [; [6 q! T< > NO! NO !NO!所有他们知道的只不过是“漏洞”,而不是“安全”!</P>- A9 Q8 l2 ]: l" t: ^7 M
< >例如:你知道有关于phf的漏洞,showcode.asp 的漏洞,count.cgi 和test-cgi 的漏洞。但是你知道为什么他们会成为cgi的漏洞吗?你知道如何编一个安全的通用网关吗?你会根据一个cgi 的工作状态来判断他可能有哪些漏洞或那方面的漏洞吗?或者,你是不是只知道这些cgi 有漏洞呢?所以我建议你不要从漏洞开始,就当他们不存在(你知道我的意思?)你真正需要做的是从一个普通用户开始!</P>0 M6 l0 F1 s, ^
< > 做一个用户</P>
$ |8 g$ X( z% _7 V: U< > 我的意思是你至少要有一个基本的常规的知识。例如:如果你要从事Web hacking 你是否可能连浏览器都不会使用?你会打开netscape, 打开ie?很好!你会输入姓名(id),你知道*.htm、*.html是网页,很好!你要一直这样下去,变成一个熟练的用户。你会区别asp 和cgi 是动态的,什么是php?什么是转向?cookie?ssl?你要知道任何一个普通用户可能接触到的关于web 的事物。不是进攻漏洞,仅仅是使用。没有基础的(也许是枯燥的)的这些东西你不可能成为高手++。这里没有任何捷径!好,现在你知道这里的一切了,你用过了!在你hack unix 之前你至少要知道如何login、logout(exit)。使用Shell command 使用一般的常用的程序。(mail、ftp、web、lynx等等)。你要想成为一个管理员,你要知道更多的基本的操作</P>- r- D- F9 z3 G+ T1 E9 ^
< >6 A5 Q/ u! S+ ~# L4 T
成为一个管理员</P>7 B/ u' T1 |- ^
< > 现在你已经超过了一个普通用户的领域了,进入了更复杂的领域!你要掌握更多的东西!例如:web 服务器的类型和其他的有什么区别?如何去配置它?像这样的知识你知道的越多意味着你更了解他是如何工作的,他是干什么的。你理解http协议吗?你知道http 1.0 和http 1.1 之间的区别吗?webdav 是什么?知道http 1.1 虚拟主机有助于你建立你的web 服务器……深入、深入!</P>
5 E% t& y: b7 ?<P>
# B" B3 K3 i9 P9 q' b3 X 操作系统?如果你从来没有配置过NT/2K 你怎么可能去进攻一个NT/2K 服务器?你从来没有用过rdisk,用户管理器,却期望crack 一个administrator的密码,得到用户权限?你想使用rds 而一切你在NT 下的操作你一直是使用图形界面?再一次, 你需要从管理员上升到一个“超级管理员”,这里不是指你有一个超级用户的权限,而是你的知识要贯穿你的所有领域!很好, 你会在图形界面下添加用户,命令行方式怎么样?而且,那些在system32 里的.exe 文件都是干什么的?你知道为什么usernetctl 必须要有超级用户权限?你是不是从来没有接触过usernetctl?深入、深入……成为一个“真正自我”这是关键!不要以为知道如何作到就行了(骗老板可以,管理员呢?进攻者呢??……)尽可能的知道越多越好,成为一个技术上的先锋、首脑。但是……</P>
1 g$ L4 e0 [( s" D1 Y( N! V<P> G5 g; J; |. `* g+ t; k" z
你不可能知道所有的事情</P>
& n( u) x7 r U& Z7 Z R<P> 哎……这是生命中不得不面对的悲惨事实!不要以为你能……如果你认为你可以,你在自欺欺人!你需要做的是选择一个领域,一个你最感兴趣的领域,进一步的学习更多的知识,成为一个用户&gt;&gt;成为一个管理员&gt;&gt;成为一个先锋、首脑。成为在某领域的最优秀的家伙(小伙,姑娘)不要仅仅学习如何使用web 浏览器,怎样写cgi 就行了。知道http,知道web 服务器是干什么的,怎么干的、知道在那里找答案、知道当服务器不正常工作时应该怎样让他工作……</P>4 P% l/ t! V" ]3 K9 q6 F; A0 p8 U
<P>2 i5 u3 ?3 c) }7 `
当你在你的领域内有一定经验时,你自然就知道怎样进攻了!</P>7 }4 T: u c4 @% T
<P> 这其实是很简单的道理。如果你知道所有的关于这里的知识,那么,你也知道安全隐患在那里!所有的漏洞,新的、旧的、将来的!你自己就能够发现未知的漏洞(你这时已经是一个网络高手了)!你,找漏洞?是的!可以!但你必须了解你要找的一切先。 所以,放下你手中的whisker的拷贝,去学习到底那些cgi 是干什么的,他们怎么使通过http 使web 服务器有漏洞的?很快你就会知道到底whisker 是干什么的了。7 k' Y# }0 m) V8 u- Y
</P>
0 {. s$ y' Y7 S6 r0 c$ z<P>编程语言</P>/ X( q. |$ X8 r r! o
<P> 一些最近我经常看到的问题中最常听的问题就是“什么编程语言应该学”</P>
5 N7 z! {$ f; N2 M<P> 我想这要根据一些具体情况。大致上是你准备花费多少时间在上面,你想让这个语言有多么有用。一个程序要多长时间完成。和这个程序能完成多么复杂的事情。以下有几个选项(排列没有什么意义)。非常容易学习的语言。很多这方面的书,公开的免费原代码也很多。你应该可以很快的使用他。但是这个语言有一个限度。他并不是象 比如 c++ 一样强大。你需要在windows下运行他。需要一个VB 的编程环境(不论盗版还是正版的 , 反正他不是免费的)。想用VB 来编攻击代码,或补丁是十分困难的。 </p></P>/ N6 S, |8 f$ T: P) |: m( Q4 I! o: \
<P>* v4 G, v5 `3 J$ J
C++
# c& u5 t- }' G- X0 c + c" [8 Z4 q ]3 d$ d4 \$ T
也许是最强大的语言.在所有的操作系统里都有。在网上有上吨的原代码和书是免费的,包括编程环境。比VB 要复杂一点。也许要掌握他花费的时间要比VB要多一点。简单的东西容易学,干复杂的活的东西理解起来也要复杂一点。你自己衡量。</P>
* _, ^/ t* r3 @- f; K<P> Assembly 1 G: i3 X0 N( W- j9 j
2 J: ]8 _1 U0 h0 H# f: U V 最复杂的,也是最难学习的语言,如果你把他当作第一个你要学习的语言,那么将会难的你头要爆裂。但是,你先学了汇编,其余的还不是小菜有一些书,这方面的教材有减少的趋势。但是汇编知识对某些方面来说是致关紧要的。比如:缓冲逸出、攻击、很多这类的免费软件。但从这个语言开始是十分困难!一个很不错的语言。他象VB 一样容易,学习他相应的容易一些,他也象VB一样有限制,但是他在多数操作平台都能运行(UNIX、和windows)。所以这是他的优势。很多这方面的书。(O'Reilly'Camel' books),而且这个语言是完全免费的。你可以使用他来作一些普通的攻击工具。他主要是作用于一些文本的技巧攻击,不适合做二进制程序。" \; p0 W0 G9 q& C
`3 ]: A8 m, S, @, Z& j/ F
我想这是所有你想知道的,有把握的说 C/C++是最佳选择!</P>+ s0 Z# M2 Y& g% V/ X& h; k. [
<P>1 O0 w) r" H) {9 \, M
<P># \2 O1 f! E7 m7 R; b* X5 z- F
: `" x+ I$ t8 t: J# }2 D
<P>
7 M2 b3 y$ c! ]- E/ M& L
( j. [7 h! P# R* E4 U1 q
, i2 y$ n) n k4 p$ ~* o3 e</P> |