知道创宇研发技能表v3.0

通用技能

公司与个人

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

WHO AM I

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

守正出奇

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

创造力

  • 一个没有创造力的人是多么的可怜,对于团队来说也是一种耻辱

  • 本技能表的本质目的只有一个:引导你拥有足够的创造力

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

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

牛人姿态

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

如何做事

方法论

  • 完成一件事有好几条途径,优秀的人的途径最短
  • 任务拆分很容易得出做事的方法论

好的「方法论」会让你具备更强的「创造力」!

  • 时刻问自己:「是否具备创造力?」

任务拆分

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

思路

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

团队

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

沟通、反馈与责任

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

团队意识

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

成长

  • 新事物的敏感性
    • 保持好奇心
    • 不要局限在自己的圈子,适当跨界吸收灵感
    • 订阅国内外优秀博客/资源,深蓝阅读不错
    • 选择性参与一些必要的会议,听必要的主题,讨论必要的话题
  • 关于知识
    • 对知识的渴望程度决定了前进动力的大小
    • 当知识很廉价地摆在你面前,你反而不会珍惜
    • 对知识保持敬畏之心
  • 不要让自己成为矫情/浮夸的人
  • 和比你厉害的人在一起,和一流的人工作
    • 指点往往是精华
    • 杜绝笨蛋爆炸
      • 二流的人招进来的人不太可能是一流的
      • 久而久之一个团队就笨蛋爆炸了
  • 思考
    • 批判性思考
    • 换位思考
      • 对于一个团队来说,这点太关键
  • 提问的智慧
    • 遇到问题先独立思考,尝试独立解决,尽最大努力后再提问
    • 提问时,礼貌很关键(对知识的敬畏),清晰表达很关键
    • 解决后,分享出来帮助更多需要帮助的人
  • 小事心态
    • 越基础的事越关键,越需要细心
    • 不要一味盲目追求「高级感」,而忽视「小事」/「简单事」/「基础事」
    • 基础不牢、地动山摇
    • 小事做不好,别提大事
  • 无论是个人还是团队的成长都需要不断沉淀知识,没有沉淀根基不稳

完成的定义

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

熟练的定义

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

好书推荐

  • 推荐理由
    • 打通任督二脉的书,怎能不看?
      • 但,尽信书不如无书
    • 任何科学研究最终必须至少到哲学层面,触碰到上帝的脚
    • 具体技术类书籍请见「专业技能」相关部分
  • 鸡汤类
    • 黑客与画家
      • 印象深刻:设计者的品味
      • 好设计是简单的设计,抓住本质
      • 好设计是永不过时的设计,如果解决方法是丑陋的,那就肯定还有更好的解决方法,只是还没有发现而已
      • 好设计是解决主要问题的设计
      • 好设计是启发性的设计
      • 好设计通常是有点趣味性的设计
      • 好设计是艰苦的设计
      • 好设计是看似容易的设计
      • 好设计是对称的设计
      • 好设计是模仿大自然的设计
      • 好设计是一种再设计
      • 好设计是能够复制的设计
      • 好设计往往是奇特的设计
      • 好设计是成批出现的
      • 好设计常常是大胆的设计
    • 浪潮之巅
      • 感受IT帝国的崛起与没落,我们现在站在又一个互联网浪潮之巅
  • 洁癖类
    • 重构
    • 代码整洁之道
    • 代码大全2
  • 敏捷类
    • Rework中文版
    • 高效程序员的45个习惯
  • 产品类
    • 人人都是产品经理
    • 结网
  • 神书
    • 自私的基因
    • 失控

专业技能

原则

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

基础必备

  • HTTP抓包与调试
    • Firefox插件
      • Firebug,抓包与各种调试
      • Tamper Data,拦截修改
      • Live Http Header,重放功能
      • Hackbar,编码解码/POST提交
      • Modify Headers,修改头部
    • Fiddler,浏览器代理神器
      • 拦截请求或响应
      • 抓包
      • 重放
      • 模拟请求
      • 编码解码
      • 第三方扩展
        • Watcher,Web前端安全的自动审计工具
    • Wireshark,各种强大的过滤器语法
    • Tcpdump,命令行的类Wireshark抓包神器
    • Python: urllib2
      • 打开请求响应调试
        • 编辑urllib2的do_open里的h.set_debuglevel
        • 改为h.set_debuglevel(1),这时可以清晰看到请求响应数据,包括https
  • 什么是跳转
    • 服务端跳转
      • 302
      • 301
      • u=urllib2.urlopen(url)后,u.url能得到服务端跳转后的地址
    • 客户端跳转
      • htmlparse解析就行了
      • location.href=“http:/” + “/evilcos.me”;
        • 正则解析(弱)
        • JavaScript引擎解析(强)
  • Office能力
    • Word文档编写,看去要专业,尤其对外的
    • Excel里面大量的统计、图表功能,需要善于使用
    • PPT演讲、培训等必备,如何做好PPT?百度一下…
    • 进一步
      • yEd
      • Visio
      • FreeMind
  • 上手Linux
    • 《鸟哥的Linux私房菜》
  • 熟练VIM
    • 实战至少3回合:Vim
  • 上手Python
    • 1
    • 2
    • 《Python核心编程2》
      • 第4章 Python对象,完整熟练
      • 6.8 Unicode,完整熟练
      • 8.11 迭代器和iter()函数,完整熟练
      • 第9章 文件的输入和输出,完整熟练
      • 第10章 错误和异常,完整熟练
      • 第11章 函数和函数式编程,完整熟练
      • 第12章 模块,完整熟练
      • 第14章 执行环境,完整熟练
      • 第15章 正则表达式,完整熟练
      • 第18章 多线程编程,完整熟练
      • 20.2 使用Python进行Web应用:创建一个简单的Web客户端 ,完整熟练
  • 算法
    • 快排
    • 二分
  • 正则表达式
    • 调试工具
      • ksmiletris Kodos
      • RegexBuddy 支持多种语言,支持调试优化
      • 正则图解
    • 正则表达式30分钟入门教程
    • Python正则表达式操作指南
    • 《精通正则表达式》
  • 研发能力
    • 瀑布模型:需求->需求分析->设计->开发->测试->上线->运维/运营
    • 需求分析能力
      • 给你一个需求,如何给出一个优美的执行思路——方法论
      • 这个能力非常非常非常的关键
    • 调试能力
      • 只要定位出,就没有解决不了的Bugs
      • 肉眼看到的都是假象,一定要专业的工具与经验配合
      • Bugs在哪出现,最终就在哪进行真实模拟调试
      • 缩小范围
        • 构建自己的测试样例
        • 排除网络复杂未知情况
        • 关联模块一个个排除
        • Python单步调试
          • import pdb;pdb.set_trace()
          • 在需要单步调试的地方加上面这句,运行程序后中断在此,然后h查看指令进行一步步细细调试
          • 粗暴调试:print
    • 敏捷思想
      • 快速迭代
      • 任务拆细
      • v1原则:定义好v1的目标,快速完成v1为优先
      • 习惯Wiki记录,利于沉淀与分享

Web安全

  • 零基础如何学习Web安全
  • Web服务组件
    知道创宇研发技能表v3.0_第1张图片
    • 钟馗之眼
      • 网络空间搜索引擎
      • 大量样例
    • 组件具有影响面,越底层的组件影响面可能越大
  • 安全维度
    • 漏洞
    • 风险
    • 事件
  • Web安全标准
    • OWASP
    • WASC
  • 实战环境
    • XSS
      • 1 答案
      • 2 答案
      • 3 答案
    • SQL
      • SQLI-LABS is a platform to learn SQLI
    • i春秋
    • Sebug + ZoomEye
      • http://sebug.net User Link
      • http://zoomeye.org User Link
      • 你懂得…
  • 工具
    • 我的渗透利器

      • 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
      • Web2.0 Hacking
        • XSS’OR

          • 常用其中加解密与代码生成

          • 源码

        • XSSEE 3.0 Beta

          • Monyer开发的,加解密最好用神器
        • Online JavaScript beautifier

          • JavaScript美化工具,分析JavaScript常用
        • BeEF

          • The Browser Exploitation Framework
    • HTTP代理

      • Fiddler,非常经典好用的Web调试代理工具
      • Burp Suite,神器,不仅HTTP代理,还有爬虫、漏洞扫描、渗透、爆破等功能
      • mitmproxy,Python写的,基于这个框架写神器实在太方便了
    • 漏洞扫描

      • AWVS,不仅漏扫方便,自带的一些小工具也好用
      • Nmap,绝对不仅仅是端口扫描!几百个脚本
      • Python自写脚本/工具
    • 漏洞利用

      • sqlmap,SQL注入利用最牛神器,没有之一
      • Metasploit,最经典的渗透框架
      • Hydra,爆破必备
    • 抓包工具

      • Wireshark,抓包必备
      • Tcpdump,Linux下命令行抓包,结果可以给Wireshark分析
    • Sebug + ZoomEye ,类似这类平台都是我们需要的

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

    • 《黑客攻防技术宝典(Web实战篇)
    • 《白帽子讲Web安全》
    • 《Web前端黑客技术揭秘》
    • 《Web之困》
    • 《SQL注入攻击与防御》
  • papers
    • http://www.exploit-db.com/papers/
    • BlackHat/Defcon/XCon/KCon/国内各安全沙龙等相关Papers需要持续跟进

嵌入式安全

路由器安全

基础

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

站点

  • OpenWrt is described as a Linux distribution for embedded devices
  • 全球主流路由器相关漏洞大集合
  • Embedded Device Hacking

工具

  • 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体系结构透视 》
  • 《计算机组成与设计:硬件、软件接口》

摄像头安全

  • http://www.openipcam.com/

zoomeye.org

全球可以找到无数真实路由器/摄像头/工控设备等

研发清单

编码环境

  • pip
  • Vagrant
  • tmux/screen
  • vim
  • Markdown
  • zsh + oh-my-zsh
  • Python2.7
  • Django1.4

    • http://djangobook.py3k.cn/2.0/
    • Django Debug Toolbar
    • 其他框架
      • web.py
      • Flask
      • Tornado
  • node.js
  • Ubuntu/Gentoo/Centos
  • ipython
  • 版本控制
    • 废弃SVN,全面拥抱Git
    • GitLab
  • Nginx+uWSGI

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

  • SSH证书
  • Fabric
  • SaltStack
  • puppet
  • pssh/dsh
  • 运维进阶
    • 运维工程师必须掌握的基础技能有哪些?

你可能感兴趣的:(安全)