零基础如何做黑客?相信大家在网络上看到过不少相关文章。
  当然,黑客的分类很多,出于不想见到警察蜀黍的原因,本文探讨的是黑客界比较友好的白帽子。
  《漏洞战争:软件漏洞分析精要》的作者林大夫是鹅厂安全从业者,他打死不承认自己是枚白帽子,更愿意用“安全从业者”这个称呼来定位自己。不过,从一名大夫(对,你没有看错,我说的是医生)到一名安全从业者,由他来指导一名小白如何成为小白帽,还是很有信服力的。
  
  案例:大夫转行成“安全从业者”

  这是一个身在曹营心在汉的故事。
  
  林大夫在踏上这条道路前,先被五年制医学院收了编。
  
——一个医学生为什么会转行做安全?
——因为小说看多了。
  事实上,有这么一个不太妥当的例子。如果你刚交了一个为了结束单身生活而交的女朋友,突然又遇到了内心的女神,那么你是不是会对女神朝思暮想,做一些和女神能勾搭上的事情?别说谎,说的就是你。
  专业与爱好的博弈,尤其在学生时代,无异于此。
  大一时,由于喜欢看黑客小说,林大夫就去图书馆找一些黑客书籍学习,每天中午都不休息,几乎天天都泡在图书馆看书,甚至翘课去看计算机书,《黑客传说》《地狱黑客》《指间的黑客》……让他着了迷。
  作为学生党,手里没有太多钱,林大夫在大四才买上计算机,之前只能去网吧、学校机房或者借用舍友的计算机。
  读者应该可以感同身受——借来的书才是真正看得又快又好的书,没有条件创造条件也要学才能学得深刻。
  结果,当年,林大夫就用诺基亚手机看完了《Windows程序设计》、《Windows核心编程》和《Windows环境下32位汇编语言程序设计》。后来干脆网购纸质书来看,只有一个原因——因为这样比在网吧看电子书更实惠。
  除了节流是硬道理,“开源”也是一条重要途径。来,我们记下这句话,爱看书的小伙子运气不会太差,因为说不定还能用来赚钱。
  
  林大夫就是这样,在大学期间,他常给《黑客防线》杂志投稿,一方面可以提高个人技术,一方面可以用稿费作生活补贴。后来,用稿费和哥哥的经济支持,他买下了第一台属于自己的计算机。后来,《漏洞战争:软件漏洞分析精要》这本书有一半内容是在那台计算机上完成的。
  
  “在求学这条道路上,我一直是一个人默默地前行着,就连一块生活了几年的舍友也不知道我在学习安全方面的知识,我买的一堆计算机书籍一直藏在宿舍衣柜最里面。在此过程中,自己走过很多弯路,甚至多次差点放弃,但很庆幸最后还是坚持下来了,并直至今日,依然在安全这条道路上前行着……”
  在圈内朋友的建议下,林大夫在大五(医学五年制)上学期开始找安全相关的工作,最终顺利拿到鹅厂的offer。
  林大夫说:
  
  “那年我还在厦门市第二医院骨伤科实习,门诊部刚好不是特别忙,我在给一位腰椎患者做完针灸后,就接到来自腾讯安全中心的面试电话。然后趁主任不在,偷偷躲到门诊部后面的楼梯口进行电话面试,整个面试过程还算比较顺利,第二天腾讯安全中心就来电说希望我到深圳总部面试。
HR面试我时,是以腰椎间盘突出的话题开场的,也算是一次别开生面的面试经历。
回到厦门后,我跟带教老师说明了转行情况,之后有上手术台的机会,我都会主动让给其他同班同学,让他们有更多上台练手的机会,而我自己自然有更多的时间去专研安全技术。”
  当黑客,有门槛吗?

  听完林大夫的故事,你是否觉得这又是一个“别人家的孩子”?没关系,在小白下定决心走向这条道路前,我们再来看看一个黑客的日常,看是否能吸引到你。
  如果想成为一名专业安全从业者,请走A口,如果想当业余白帽子,请走B口。
  A口:攻防兼备是基本要求,很多时候研究攻击技术是为了更好地防御。经常要对业务产品作安全评估,针对漏洞制定修复方案,对于上线后的产品还要作安全监控,有时大半夜服务器被入侵,还得爬起来加班。
  
或许有时就是下面这帮白天不用上班/课的业余爱好者搞的。——林大夫说。
  B口:更多人热衷于研究攻击技术,因为攻击更容易引起别人的兴趣。据说成都那边有一些白天搞站,晚上卖烧烤的白帽子,但他们在技术上其实与安全职业者没什么区别,只是他们不用过多考虑产品安全防御的问题,他们可以刷刷各大SRC平台或者国外其它漏洞奖励平台,如HackOne等。
  
总而言之,业余爱好者可以让安全职业者加班,但安全职业者却不能。林大夫很“沮丧”——可见有时职业者的地位比业余者还低。
  当然,雷锋网宅客频道编辑并没有鼓励你走上“业余者”的道路,如果你像《微微一笑很倾城》里的黑客KO一样能做得一手好烧烤除外,这样也许成都特别欢迎你。
  
  如果A或B选项都能接受,我们再看看看你是否一定要是“别人家的孩子”才能走上这条道路。
  
Q:林大夫,具备什么潜质或者特质的人适合做黑客?或者根本没有限制?
  A:平常我们所谓的聪明人,大体可以分为三种:神经型(先天智商高,比如著名数学家天才约翰纳什)、经验型(后天长期经验习得,比如“日本寿丝之神“小野二郎)和反省型(自我反省、监控和管理,比如“股神”巴菲特)。
这三类人里,我觉得对安全人才最重要的是经验型,靠的是后天长期不断地学习和积累,很多时候根本谈不上比智商;而反省型的人才可能更适合搞安全领域技术研究的,不断地从错误中总结和启发,研究一些新的技术,比如,不断地改进现有的漏洞挖掘和利用思路,以发现更多的漏洞,制定出更加全面的防御方案。当然,这类人也需要后天长期学习。
    所以,做安全最重要的是持之以恒的学习能力,以及不断自我总结和提升的反省能力。
  如果非要提供一种简易衡量和测试方法来判断小白适不适合进军安全领域的话,林大夫认为,或许可以对实习生或毕业生尝试下面这种方法:为测试者分配一项无任何相关安全领域知识的项目,看其如何在最短的时间内完全所需知识储备的学习,并以最快的速度完成项目工作。
  手把手教你当黑客

  在判断自己是否适合踏上“征程”的这一刻,我们将迎来一个干货分享——到底怎么学才能成为黑客?
  
——少年,我看你骨骼精奇,是个当黑客的好材料。  ——嗯?  ——所以,不如来我们黑客教育学校吧?!  ——滚!
  看到这段对话,想必你要会心一笑,当年号称“系统全面、包教包会、价格优惠”的黑客教育平台,基本上该进去的都进去了,你懂的……
  
  这条道路看上去行不通,我们换一条。
  安全可以细分很多领域,比如Web安全、软件安全、移动安全、无线安全、网络安全……林大夫建议,根据自己兴趣选择就是了,但相信依然会有很多人搞web,因为“黑站”酷炫。
  小白进阶,总会遇到诸多困惑,林大夫的心得如下:
  
1、  初学时经常会找一些带有”黑客“字眼的书名或文章来学习,但慢慢会发现,最后还是回归到一些计算机基础课程上面,比如C、汇编和系统原理等等;
2、  “用以致学“可能比”学以致用“效率更高,就是在需要用的时候,带有目的去专门学习相关知识,然后运用到实践中,比如开发个工具之类的,这种方式往往比学了之后等待被用,更高效,更掌握得牢固;
3、  遇到解决不了的技术问题和困惑是再所难免的,有时不妨先放一放,学习一段时间后再回头看看,如果解决了也是一种进步,当然也可以上一些论坛(比如看雪)去请教他人;
4、  最后就是坚持、坚持、再坚持地不断学习……
  那么,到什么程度可以把手伸向漏洞?
  林大夫说——
  
从事Web安全可能更容易入门,但时间久了,会遇到瓶颈,属于“前期英雄”。
从事二进制安全入门门槛高,需要较长的学习时间,拼的是技术底子,属于“后期英雄”;
如果是想尽早有漏洞产出,可能Web漏洞是最好的选择方向,对于初学者可以帮助树立信心和兴趣。可以跟着一些Web安全教程或书籍,针对一些漏洞实验平台进行实践,比如WebGoat。
Fuzzing(模糊测试)是当前主流的软件漏洞挖掘技术,一般不根据漏洞类型来划分,而是依据攻击面来开发相应的Fuzzer工具,或者基于开源Fuzzer做二次开发。当然,最理想的还是各种通用型的Fuzzer,只不过越通用,可能被挖过,被撞洞的机率就越大。挖洞都是拼思路,思考一条少有人走过的路,然后开发相应的fuzzer,或许就能有所收获。
  在向白帽子进阶的过程中,有一件事林大夫要友情提醒:
  白帽子被捕事件与乌云升级事件再次敲响警钟,一切非授权的渗透测试都是非法的。很多白帽子没有认清测试与入侵的区别,有的人都拖了别人数据库,仍美其名为”友情测试“,即使是授权的测试行为,如果测试过程中仍采用破坏式、入侵式的手段,厂商依然可以追究法律责任。“出来混,早晚要还的!”
  
  不要碰黑产,不要搞入侵破坏,才能在安全这条道路上走得更久更远。
    来源:雷锋网
原文链接:http://www.leiphone.com/news/201609/EJMXfJW65r1KqLPi.html