一、个人成长
-
确立个人方向,结合工作内容,找出对应短板
- 该领域主要专家们的工作是否都了解?
- 相关网络协议、文件格式是否熟悉?
- 相关的技术和主要工具是否看过、用过?
-
阅读只是学习过程的起点,不能止于阅读
- 工具的每个参数每个菜单都要看、要试
- 学习网络协议要实际抓包分析,学习文件格式要读代码实现
- 学习老漏洞一定要调试,搞懂别人代码每一个字节的意义,之后要完全自己重写一个 Exploit
- 细节、细节、细节,刨根问底
二、建立学习参考目标
-
短期参考什么?比自己优秀的同龄人
- 阅读他们的文章和其他工作成果,从细节中观察他们的学习方式和工作方式
-
中期参考什么?你方向上的业内专家(优秀开发者 https://github.com/reuixiy/io-oi.me/issues/184)
- 了解他们的成长轨迹,跟踪他们关注的内容
-
长期参考什么?业内老牌企业和先锋企业
- 把握行业发展、技术趋势,为未来做积累
三、推荐的学习方式
-
以工具为线索
- 一个比较省事的学习目录:Kali Linux
-
学习思路,以 Metasploit 为例:
- 遍历每个子目录,除了 Exploit 里面还有什么?
- 每个工具分别有什么功能?原理是什么?涉及哪些知识?
- 能否改进优化?能否发展、组合出新的功能?
-
以专家为线索
- 你的技术方向里有哪些专家?
- 他们的邮箱、主页、社交账号是什么?
- 他们在该方向上有哪些作品?发表哪些演讲?
- 跟踪关注,一个一个学
四、处理好学习、工作和生活
- 学习、工作和生活是矛盾统一的
-
三者都需要时间,你一天只有 24h
- 调和矛盾的关键:提高效率
- 学习、工作会影响你能不能追求诗和远方
五、如何提高效率
- 做好预研,收集相关前人成果,避免所谓的重复劳动
- 在可行性判断阶段,能找到工具就不写代码,能够脚本语言就不要用编译语言,把完美主义放在最终实现阶段
- 做好笔记并定期整理,遗忘会让所有的投入都白白浪费
- 多和同事交流,别人说一个工具的名字可能让你节约数小时
- 咖啡可以提高思维效率,而且合法
- 无论怎么提高效率,要成为专家,都需要大量的时间投入