学习网络安全已经有很长时间了。关于这条路,在这里为新手朋友指明方向。
先说一下,什么是黑客?(这只是我个人的认识)
黑客(HACKER)在这个世界上已经很少有人能告诉我们什么是黑客了。在媒体的大肆渲染下,黑客这个称呼已经成为了一个异常神秘的称呼。在许多人看来,黑客就是那些非法入侵web服务器,黑掉人家的网站或者用着各种木马抓鸡的人,这些人在黑客界有一个称呼叫“脚本小子”。他们在严格的黑客7层分级(FB赵总说的分级标准)中属于1级,他们的作用只是哗众取宠。(并非所有1级的黑客都是哗众取宠,我指那些到了1级就无心到2级的自满者,喜欢用黑客这个身份装逼的人。)
在我的认知里,黑客是黑客7层分级中4级左右的人(4级的人已经开始学习编写操作系统内核,如linux 0.11的内核)才算是黑客,他们能给黑客界做出贡献,可能能找出系统级0day。
他们不是黑帽,他们一般是在互联网公司工作的网络安全人员(白帽子)和长期坚持学习网络安全的爱好者。
一个真正的黑客其实技术不是第一位,精神才是第一位,世界上标准的黑客精神是“自由,平等,免费,共享”。但,我认为真正的黑客精神应该是“Hacking”的本意,突破!
突破技术极限,突破系统权限,突破自我极限!
只有将这样的精神化为自己的黑客精神才能走得更远。(向7级进发。)
有了这样的认识,我们就来说一下怎么走这条路。
其实和打游戏一样。打游戏怎么样呢?
对!升级!这就是升级!
首先是1级,1级的定义是会运用各种安全攻击入侵的人。
所以,在这一阶段可以买本《黑客攻防从入门到精通》,边看边实践。当然建议本地搭建环境模拟入侵。(顺便说一下,黑软有毒,谨慎使用)等你感觉对自己所用的操作系统十分熟悉时,能自己了解这些安全工具的实现原理时,你就快要进入第2级了。
2级的定义是对操作系统的使用十分了解,能纯熟的选择和使用安全工具的人。
其实意思是对计算机网络有一定了解,对常规入侵手段的原理和实施精通的人。就比如,你用“灰鸽子木马”配置了一个服务程序,然后发个一个人,他一点开,你就能控制他的计算机,在这个过程中的服务程序的实现原理和客户端的实现原理。然后,理解外网和内网,能手工入侵局域网内的计算机,和劫持这些计算机,或者对这些计算机实施中间人攻击等等。最后还要理解IP和端口。(对了,还有个重点,能自己搭建web服务器,了解DNS协议,ARP协议,IP/TCP协议,还要能搭建FTP服务器,TELNET服务器,和Linux的SHH协议,对数据库有一定了解,在这一阶段推荐学习两门语言:HTML和CSS,都比较简单)。
然后就是3级了,3级的定义是能自己制造安全工具的人(别人的东西始终不如自己东西好:))
这一阶段其实是编程学习阶段,建议学习一下几种语言:
1.编程语言:C/C++(必学,不然日后缓冲区溢出不好学,Linux内核编程也不好学),java(选学),汇编(x86 Assembly,必学,这个不学影响大),C的Windows编程(必学),C的Linux编程(建议学),C的Windows核心编程(必学),C的Windows内核编程(想让别人蓝屏吗?想写RootKit吗?想到免杀的最高境界吗?想的话,必学)。
2.脚本语言:python(必学,现在才发现他的好),javascript(必学,流行的XSS漏洞,不会它,想利用?休想!),Ruby(如果我告诉你著名的世界级溢出攻击平台metasploit framework就是它写的,你怎么想?)
3.web脚本语言:PHP(必学,不解释),ASP(看你,现在这种站点少),JSP(必学,不解释)。
4.数据库:MYSQL,MSSQL,甲骨文(3个都必学)。
到这里,你可能已经自称“大牛”了,但是黑客之路进无止境,殊不知高于4级的人都有一大波。(将上面这些学完后,可以买一本《小小黑客之路》来学习,还有《精通脚本黑客》和《白帽子讲WEB安全》,话说曾经日过百度,新浪的都只是3级的低阶(注意,是曾经))
然后就是4级了,4级是指能自己写操作系统的人(注:在这之前可以学一些缓冲区溢出)。
要做到这些就去学习Linux内核编程,先学老版本的(大概2万行代码的那个,建议把代码背下来,千万不要背错,要常复习),然后学文件系统和网络部分。
我能说得就只能到此为止了,祝大家好梦。