我有不少黑客朋友。他们有的学医,有的学数学,有的学建筑,有的做安全之前的职业是开中巴。恩,当然,也有不少是计算机科班出身的。
这帮人,是怎么成为黑客的?
会动脑
最最重要的是「逆向思维」——所谓的「黑掉你,不在你关注的那个点上」(能独立思考,不人云亦云,善挖掘,不从众,懂大众心理,还懂得利用大众心理的「漏洞」);
在网络攻防中找案例,我顺手搜了一个「自己打自己」的案例:简单一步即可扫描360内部系统安全漏洞(扫描器攻击技巧),出处为乌云:http://t.cn/RLeNiMY;
逆向思维不仅仅适用于「暗黑领域」。实际上,无论你学的是什么,从事的是什么职业,这种思维模式都无比珍贵,拥有它,你有机会成为任意领域的黑客;
在军事上找类比,想想「马奇诺防线」,想想「围魏救赵」,再想想「黑掉你,不在你关注的那个点上」,你是不是领悟到了点什么?
一个漫画(出自 XKCD):
安全死宅想象中,自己的安全设计固若金汤:
恶人甲:哇靠,丫电脑加密了,咱得砸个百万美金破掉它!
恶人乙:嚓,想得美,是 4096 位密码耶!
恶人甲:倒霉,认栽吧,撤!
真实世界里:
恶人甲:哇靠,丫电脑居然加密!拿五美金买个扳手,扁他。扁到他说出密码为止!
恶人乙:好咧。
扁到他说出密码为止!恩,这就是我最推崇的思维能力(别领会错了,不是暴力,是不受你的规则限制)。
肯学习
那个学医的黑客(TK)在微博上说:漏洞产业很像玉石产业。漏洞生于脑,玉石出自矿。矿里有没有玉,要挖一挖。思路可不可行,要试一试。挖出矿石是不是玉,要开窗看。Crash 能不能变成 PoC,要调一调。矿石里的玉多大、什么成色,得整个磨开。PoC 好不好利用,要写成 Exploit。而后玉石雕成器,Exploit 写成真正的工具,会再价值大增;
挖、试、看、调、磨……各位看着各种黑客大赛,几秒攻破某某系统时,有没有想过台上一分钟,台下十年功?
我从业生涯中遇到的,真正笨和天才的人很少。有不少人「以为自己比实际上聪明」地走捷径,反而绕远,不如日拱一卒走得稳健长远;
如果你问:我肯学习,但是该学什么?怎么学?请参见第一条:「会动脑」。
重实践
纸上得来终觉浅。绝大多数人都是「听过很多道理,依然过不好这一生」的,路要自己走,错误要自己犯,一行行代码要自己写,一个个绕过限制的奇技淫巧要自己苦思冥想。突破了,收获就是自己的;
实践的方法很多,比如长期做一个开源软件(做之前请先动脑想清楚做什么、为什么做、值不值得长期做等一系列问题)、比如写文章记录自己的学习历程、比如把历史上著名的漏洞撸一遍并分享代码和心得……
走正道
玩黑客攻防这个行当,脑洞一旦开了,很容易发现不少地方可以快速挣钱。但「伸手」之前,请想清楚:会上瘾!尝过轻松来钱的滋味后,再想踏实做事就难了。
常在河边走,哪有不湿鞋。
你也可以参考 How To Become A Hacker:http://www.catb.org/~esr/faqs/hacker-howto.html,虽然我觉得他写得不太好 :)