知道创宇研发技能表 V3.1

通用技能

公司与个人

  • 公司是盈利性组织
  • 个人和公司必须双赢
  • 在认同公司理念且能够给公司创造足够价值的基础上,为个人发展而工作

Who am I

黑客是守正出奇且具备创造力的群体

守正出奇

  • 这条正道/底线得坚守
  • 但如果太过正就迂腐了,为了搞定任务有时得出奇招

创造力

  • 一个没有创造力的人是多么的可怜,对于团队来说也是一种耻辱
  • 本技能表的本质目的只有一个:引导你拥有足够的创造力

黑客也可以是一种思维方式

我们需要对得起名片上的那个头衔:工程师、研究员

牛人姿态

  • 即使现在不是牛人,也得具备这样的姿态
  • 没有一定扎实内功与远见的人很少有这样的姿态
  • 拥有不将就的做事风格,迟早是牛人

如何做事

方法论

  • 完成一件事有好几条途径,优秀的人的途径最短
  • 任务拆分很容易得出做事的方法论
  • 好的「方法论」会让你具备更强的「创造力」!
  • 好的「方法论」会让你具备更强的「创造力」!
    • 时刻问自己:「是否具备创造力?」

任务拆分

成长过程会经历:能力越大、责任越大、事情越多

思路

拆分细化为多个点
排好优先级

任务四象限,决定优先级

  • 紧急重要
    • 赶紧搞定
  • 重要不紧急
    • 时刻保持关注,以免沦为「紧急重要」
  • 紧急不重要
    • 少少益善,学会拒绝
  • 不紧急不重要
    • 靠自律
SMART 原则
  • S:任务是否明确
    • 不明确的任务搞起来就是浪费生命
  • M:任务是否可度量
    • 不可度量如何体现价值?
  • A:任务是否可搞定
    • 搞不定就不应该接,接就得有魄力搞定
  • R:任务的相关性如何
    • 决定了任务的价值,相关性越高越能体现价值,比如这个任务搞定了能让团队获得公司、客户等更大的认可
  • T:任务的时间
    • Timeline:任务时间轴,什么时间点需要搞定什么
    • Deadline:任务的最后期限,做评估时最好提前,因为总会有各种意外或拖延本性
    • Timeline 上一些很关键的时间点我们可以称为里程碑,搞定每个里程碑应该庆祝下
自己欠缺什么,立马发现
是否需要寻求帮助,谁能帮你,自己单干?
团队

士气第一

  • 当你有团队时,分配与调度好任务很关键
    • 做得好是真并发
    • 做不好会死锁

沟通、反馈与责任

  • 一个无沟通能力的人,要么是天才,要么是不可爱的人,不过天才也就寥寥无几而已,你并不是
  • 反馈要及时
    • 避免出问题不反馈,影响进度
    • 方式
      • 正式的:邮件
      • 临时的:微信等即时通信
      • 着急的:给个电话
  • 工作有大小,责任心无大小
  • 周报的透明
    • 意义:大家互相了解工作与心得,有利于自己的判断与成长
      • 观察是一种多重要的技能
      • 不是单纯的给领导汇报工作
    • 周报需体现本周工作总结、下周工作计划、心得/问题/建议(我们叫唧唧歪歪)
    • 周报可以很好体现一个人的
      • 总结能力
      • 计划能力
      • 分享能力
        • 想象下:一个人从来没有心得/问题/建议的沉淀或反馈,这个人是一个相对封闭的人,在团队作战中很难达到默契
        • 当然,这种分享能力远不仅仅是在周报这种形式里

团队意识

  • 很多人都说自己具备足够好的团队意识,但是有些人却并不是这样
    • 举个小例子:一个 10 人团队约定早上 10 点开会,而你迟到了 10 分钟,对于团队来说你浪费了整个团队 100 分钟(10 人 * 10 分钟)的生命。有些人无羞愧之心要么是意识不到这点,要么这个团队的风气就是这样…
  • 团队意识是建立在互相信任的基础上
  • Leader 最关键,优秀的 Leader 一定会有个优秀团队
    • 兵熊熊一个
    • 将熊熊一窝
  • 如何拥有个优秀的团队是一个复杂的话题

成长

新事物的敏感性

  • 保持好奇心
  • 不要局限在自己的圈子,适当跨界吸收灵感
  • 订阅国内外优秀博客/资源,深蓝阅读不错
  • 选择性参与一些必要的会议,听必要的主题,讨论必要的话题

关于知识

  • 对知识的渴望程度决定了前进动力的大小
  • 当知识很廉价地摆在你面前,你反而不会珍惜
  • 对知识保持敬畏之心

不要让自己成为矫情/浮夸的人

和比你厉害的人在一起,和一流的人工作

  • 指点往往是精华
  • 杜绝笨蛋爆炸
    • 二流的人招进来的人不太可能是一流的
    • 久而久之一个团队就笨蛋爆炸了

思考

  • 批判性思考
  • 换位思考
    • 对于一个团队来说,这点太关键

提问的智慧

  • 遇到问题先独立思考,尝试独立解决,尽最大努力后再提问
  • 提问时,礼貌很关键(对知识的敬畏),清晰表达很关键
  • 解决后,分享出来帮助更多需要帮助的人

小事心态

  • 越基础的事越关键,越需要细心
  • 不要一味盲目追求「高级感」,而忽视「小事」/「简单事」/「基础事」
  • 基础不牢、地动山摇
  • 小事做不好,别提大事

无论是个人还是团队的成长都需要不断沉淀知识,没有沉淀根基不稳

完成的定义

比如写个 POC

  1. 搞懂了目标 Web 应用漏洞的原理
  2. 熟练运用 Python 各相关模块与机制
  3. 熟练了解了 HTTP 协议
    • HTTP 请求
    • HTTP 响应
  4. 代码写得够规范,让人看起来就是爽
  5. 程序经过足够的测试
    • 黑测试
    • 白测试
  6. 及时反馈进度
    • 我遇到困难了
    • 我搞定了
  7. 更新相关文档,沉淀

熟练的定义

比如熟练 SQL 注入

  • SQL 语句这门“语言”能脱离文档顺手写出
  • 主流数据库的 SQL 特有函数、存储过程、机制我都了如指掌
    • MySQL
    • MSSQL
    • Oracle
    • PostgreSQL
    • Access
    • SQLite
  • 牛逼的工具我不仅用的顺其自然,源码还读过几遍,我能修改
    • sqlmap
  • 我具备创造性,而不仅仅是跟在大牛身后
    • 研究出了几个不错的技巧
    • 发了几篇不错的 Paper
    • 对外会议/沙龙等进行了几次分享
    • 写出了自己的相关工具,爽
  • 我实战了 N 回,遇到了很多奇葩环境,我有足够的信心绕过
  • 以上这些之后,这才叫熟练!其他同理

好书推荐

推荐理由

  • 打通任督二脉的书,怎能不看?
    • 但,尽信书不如无书
  • 任何科学研究最终必须至少到哲学层面,触碰到上帝的脚
  • 具体技术类书籍请见「专业技能」相关部分

鸡汤类

黑客与画家

印象深刻:设计者的品味

  • 好设计是简单的设计
    • 抓住本质
  • 好设计是永不过时的设计
    • 如果解决方法是丑陋的,那就肯定还有更好的解决方法,只是还没有发现而已
  • 好设计是解决主要问题的设计
  • 好设计是启发性的设计
  • 好设计通常是有点趣味性的设计
  • 好设计是艰苦的设计
  • 好设计是看似容易的设计
  • 好设计是对称的设计
  • 好设计是模仿大自然的设计
  • 好设计是一种再设计
  • 好设计是能够复制的设计
  • 好设计往往是奇特的设计
  • 好设计是成批出现的
  • 好设计常常是大胆的设计

浪潮之巅

感受 IT 帝国的崛起与没落,我们现在站在又一个互联网浪潮之巅

洁癖类

  • 重构
  • 代码整洁之道
  • 代码大全 2

敏捷类

  • Rework中文版
    • 37signals 团队的敏捷经验
  • 高效程序员的 45 个习惯

产品类

  • 人人都是产品经理
  • 结网

神书

  • 自私的基因
  • 失控

 

专业技能

原则

  • 至少完整看完与练习好一本书
  • 至少过一遍官方文档

基础必备

HTTP 抓包与调试

Firefox 插件

  • Firebug/Firecookie
    • 抓包与各种调试
  • Tamper Data
    • 拦截修改
  • Live HTTP Headers
    • 重放功能
  • HackBar
    • 编码解码/POST 提交
  • Modify Headers
  • 修改头部

Fiddler

  • 浏览器代理神器
  • 拦截请求或响应
  • 抓包
  • 重放
  • 模拟请求
  • 编码解码
  • 第三方扩展
    • Watcher
      • Web 前端安全的自动审计工具

Wireshark

  • 各种强大的过滤器语法

tcpdump

  • 命令行的类 Wireshark 抓包神器

Python

  • urllib2
    • 打开请求响应调试
      • 编辑 urllib2 的 do_open 里的 h.set_debuglevel
      • 改为 h.set_debuglevel(1),这时可以清晰看到请求响应数据,包括 HTTPS

什么是跳转

服务端跳转

  • 302
    • <?php header(“Location: 3.php”); ?>
  • 301
    • <?php header(“HTTP/1.1 301 Moved Permanently”); header(“Location: 2.php”); ?>
  • u = urllib2.urlopen(url) 后,u.url 能得到服务端跳转后的地址
    • urllib2 自己的特性
    • 所谓的会跟进去

客户端跳转

  • <meta http-equiv=”refresh” content=”0; url=http://www.evilcos.me” />
    • htmlparse 解析就行了
  • location.href = “http:/” + “/evilcos.me”;
    • 正则解析(弱)
    • JavaScript 引擎解析(强)

Office 能力

  • Word 文档编写,看去要专业,尤其对外的
  • Excel 里面大量的统计、图表功能,需要善于使用
  • PPT 演讲、培训等必备,如何做好 PPT?百度一下…
  • 进一步
    • yEd
    • Visio
    • Freemind
      • 本技能表就是这个制作

上手 Linux

  • 《鸟哥的 Linux 私房菜》

熟练 Vim

上手 Python

《Python 核心编程 2》

  • 第 4 章 Python 对象
    • 完整熟练
  • 6.8 Unicode
    • 完整熟练
  • 8.11 迭代器和 iter() 函数
    • 完整熟练
  • 第 9 章 文件的输入和输出
    • 完整熟练
  • 第 10 章 错误和异常
    • 完整熟练
  • 第 11 章 函数和函数式编程
    • 完整熟练
  • 第12章 模块
    • 完整熟练
  • 第14章 执行环境
    • 完整熟练
  • 第15章 正则表达式
    • 完整熟练
  • 第18章 多线程编程
    • 完整熟练
  • 20.2 使用 Python 进行 Web 应用:创建一个简单的 Web 客户端
    • 完整熟练

算法

  • 快排
  • 二分

正则表达式

研发能力

瀑布模型

  • 需求 -> 需求分析 -> 设计 -> 开发 -> 测试 -> 上线 -> 运维/运营

需求分析能力

  • 给你一个需求,如何给出一个优美的执行思路——方法论
  • 这个能力非常非常非常的关键

调试能力

  • 只要定位出,就没有解决不了的 Bugs
  • 肉眼看到的都是假象
    • 一定要专业的工具与经验配合
  • Bugs 在哪出现,最终就在哪进行真实模拟调试
  • 缩小范围
    • 构建自己的测试样例
      • 排除网络复杂未知情况
    • 关联模块一个个排除
    • Python 单步调试
      • import pdb; pdb.set_trace()
      • 在需要单步调试的地方加上面这句,运行程序后中断在此,然后h查看指令进行一步步细细调试
    • 粗暴调试:print

敏捷思想

  • 快速迭代
  • 任务拆细
  • v1原则:定义好 v1 的目标,快速完成 v1 为优先
  • 习惯 WiKi 记录,利于沉淀与分享

翻墙

Web 安全

Web 服务组件

8+1:一图胜千言哎:)

../_images/web_component.png

安全维度

  • 漏洞
  • 风险
  • 事件

Web 安全标准

  • OWASP
  • WASC

实战环境

SQL

Seebug + ZoomEye

工具

我的渗透利器

Firefox
  • Firebug
    • 调试 JavaScript,HTTP 请求响应观察,Cookie,DOM 树观察等
  • Tamper Data
    • 拦截修改
  • Live Http Header
    • 重放功能
  • Hackbar
    • 编码解码/POST 提交
  • Modify Headers
    • 修改头部
  • GreaseMonkey
    • Original Cookie Injector for Greasemonkey
  • NoScript
    • 进行一些 JavaScript 的阻断
  • AutoProxy
    • 翻墙必备
Chrome
  • F12
    • 打开开发者工具,功能 == Firebug + 本地存储观察等
  • SwichySharp
    • 翻墙必备
  • CookieHacker
Web 2.0 Hacking
HTTP 代理
  • Fiddler
    • 非常经典好用的 Web 调试代理工具
  • Burp Suite
    • 神器,不仅 HTTP 代理,还有爬虫、漏洞扫描、渗透、爆破等功能
  • mitmproxy
    • Python 写的,基于这个框架写神器实在太方便了
漏洞扫描
  • AWVS
    • 不仅漏扫方便,自带的一些小工具也好用
  • Nmap
    • 绝对不仅仅是端口扫描!几百个脚本
  • Python 自写脚本/工具
漏洞利用
  • sqlmap
    • SQL 注入利用最牛神器,没有之一
  • Metasploit
    • 最经典的渗透框架
  • Hydra
    • 爆破必备
抓包工具
  • Wireshark
    • 抓包必备
  • tcpdump
    • Linux 下命令行抓包,结果可以给 Wireshark 分析
Seebug + ZoomEye

Kali Linux

  • 除了上面介绍的一些工具,其他海量各类型黑客工具,自己去摸索

  • 《黑客攻防技术宝典(Web 实战篇)》
  • 《白帽子讲 Web 安全》
  • 《Web 前端黑客技术揭秘》
    • 余弦和 xisigr 自己出品
  • 《Web之困》
  • 《SQL 注入攻击与防御》

Papers

嵌入式安全

路由器安全

基础

  • 嵌入式 Linux 系统方面知识
  • 开发系统互联参考模型——第三层网络层
  • MIPS/ARM 汇编知识
  • VxWorks 系统方面知识
  • JTAG 调试接口规范
  • 嵌入式系统交叉环境开发
  • 路由器芯片方案提供商
    • 博通
    • Atheros
    • TrendChip
    • ACROSPEED
    • IC+
    • 瑞昱

站点

工具

  • Binwalk
  • IDA Pro
  • gdb/gdbserver
  • qemu-system
  • qemu-user-static
  • Smiasm
  • Metasm
  • JTAG 硬件调试器

  • 《揭秘家用路由器 0day 漏洞挖掘技术》
  • 《Hacking the XBOX: An Introduction to Reverse Engineering》
  • 《Hacking the Cable Modem: What Cable Companies Don’t Want You to Know》
  • 《MIPS 体系结构透视 》
  • 《计算机组成与设计:硬件、软件接口》

工控安全

基础

  • 工业生产环境的基本结构,如:SCADA、PCS
  • 工业生产环境的信息安全风险点(可参考 DHS 出版物)
    • Improving Industrial Control Systems Cybersecurity with Defense-In-Depth Strategies
  • 工控网络组态、逻辑开发、应用组态的基本技术方法
  • 抓包、看 RFC 分析几个常规工业以太网协议,如:Profinet、Modbus
  • 买两款 PLC 玩玩,会真实感受到工业环境的信息安全问题(一定记得买以太网模块,不贵二手几百块)

其它

zoomeye.org

研发清单

编码环境

Python

  • 官方手册
    • 至少过一遍,这都没过一遍,视野会局限
    • 行之说:「我没看过 Python 的书,却熟读官方手册……」

Linux/UNIX

    • 《鸟哥的 Linux 私房菜》
    • 《Linux Shell 脚本攻略》
    • 《UNIX 编程艺术》
    • 《Software Design 中文版 01》、《Software Design 中文版 02》、《Software Design 中文版 03》
  • 让你的电脑默认操作系统就是Linux…

前端

  • 《JavaScript DOM 编程艺术》

了解 DOM

  • 这同样是搞好前端安全的必要基础

  • jQuery
    • 优秀的插件应该体验一遍,并做些尝试
    • 官方文档得过一遍
  • D3.js
  • ECharts
    • 来自百度
  • Google API
  • ZoomEye Map 组件
    • ZoomEye 团队自己基于开源的打造
  • AngularJS
    • Google 出品的颠覆性前端框架
  • Bootstrap
    • 应该使用一遍

爬虫进阶

  • 代理池
    • 爬虫「稳定」需要
  • 网络请求
    • wget/curl
    • urllib2/httplib2/requests
    • Scrapy
  • 验证码破解
    • pytesser

调度

  • crontab 是最原生的定时调度
  • 基于 Redis 实现的分布式调度
  • 基于 RPyC 实现的分布式调度
  • Celery/Gearman 等调度框架

并发

  • 线程池
    • 进程内优美的并发方案
  • 协程
    • 进程内另一种优美的并发方案
    • gevent
  • 多进程
    • os.fork
    • multiprocessing

数据结构

  • JSON
  • cPickle
  • protobuf

数据库

  • MySQL
  • MongoDB
  • Cassandra
  • Hadoop 体系
  • Redis
  • SQLite
  • bsddb
  • ElasticSearch

大数据处理

  • Hive
  • Spark
  • ELK
    • ElasticSearch
    • Logstash
    • Kibana

DevOps

调试

算法

  • 分词
  • 贝叶斯
  • 神经元
  • 遗传算法
  • 聚类/分类

持续集成

  • 自测试
    • nose
  • Jenkins

协作

  • 类似 Trello 的在线协同平台
  • Slack
  • 微信
  • 立会

设计思想

  • 人人都是架构师:具备架构思想是一件多酷的事
  • 实战出真知
  • 如何设计
    • 任务架构设计变迁.pptx
    • 松耦合、紧内聚
    • 单元与单元属性
    • 生产者与消费者
    • 结构
      • 队列
      • LRU
    • 分布式
      • 存储
      • 计算
    • 资源考虑
      • CPU
      • 内存
      • 带宽
    • 粗暴美学/暴力美学
      • 大数据,先考虑 run it,然后才能知道规律在哪
      • “run it 优先”能快速打通整体,洞察问题
      • “run it 优先”能摆脱细节(繁枝末节)的束缚
      • “run it 优先”能快速迭代出伟大的 v1
    • 一个字总结

牛人 1, 2, 3

  • 1 研究:研究东西,有足够洞察力,研究水准不错
  • 2 研发:Hack Idea 自己有魄力实现,不懂研发的黑客如同不会游泳的海盗
  • 3 工程:研发出来的需要实战、需要工程化,否则只是玩具,而不能成为真的武器

 

优质资源

  • 多关注电子工业/图灵/机械工业/人民邮电等出版社,他们有专业团队来保障每年输出优质书籍
  • 自己需要掌握鉴别好书的能力

RSS 订阅

威胁情报

安全平台

 

转自:https://github.com/knownsec/RD_Checklist

张贴在IT

发表评论

电子邮件地址不会被公开。 必填项已用*标注