代码审计:企业级Web代码安全架构

尹毅
序言 我第一次见到尹毅是2013年在北京中关村。那时候我正在安全宝创业,我们需要招募到最好的人才。这时候尹毅的博客吸引了我,在一个技术分享逐渐枯竭的时代,他的博客令人眼前一亮。然后我试图联系到了他,并邀请到北京来聊一聊。 让我大吃一惊的是,尹毅当时还是一个孩子模样,但是时不时能从生涩的脸庞里看到成熟。在这个年纪就出来工作,我想他一定吃过很多苦。在之后的工作中,尹毅展现出了惊人的天赋。交给他的工作总是能迅速并出色地完成,并时不时会在工作中有一些创新性成果令人惊喜。他的自驱力极强,总是不满足于简单的工作,于是我不得不想出一些更复杂和艰难的挑战交给他。 2014年9月,安全宝分拆了部分业务被阿里收购,我带着尹毅一起到了阿里。此时他已经成为一个安全团队的Leader,在中国最大的互联网公司里贡献着力量。 尹毅学东西很勤奋,他平时的业余时间就是写代码,或者看技术文章,因此进步迅速。他很快就在Web漏洞挖掘能力方面有了长足的进步,并取得了不错的成绩,他陆续发现了好些开源软件的高危漏洞。最难能可贵的是,他开始逐步总结这些经验,并且沉淀在自己开发的一个漏洞挖掘工具里。这让他学会了如何从重复的体力劳动中解放出来,把精力用在更有价值的地方。这是一个优秀黑客应具有的特质:厌倦重复性的体力劳动,而对创新充满着无限的热情和旺盛的精力。 尹毅认为,一个好的黑客,必须要懂编程。这也是他在这本书里所倡导的理念。在他看来,不懂编程、没挖过漏洞的黑客,充其量只能算“脚本小子”。所以,尹毅在本书的出发点是从代码审计开始,通过代码审计,去发现和挖掘漏洞。 漏洞挖掘是一门艺术,同时也是信息安全的核心领域。安全技术发展到今天,常见的漏洞挖掘技术有代码审计、黑盒测试、Fuzzing、逆向分析等。每一种技术都有独到之处,而其中,代码审计又是最基本、最直接的一种方式,是每一个安全专家都应该掌握的技能。 但时至今日,全自动…