-
知道创宇研发技能表v3.1
2016/5/18 发布
by @知道创宇(www.knownsec.com) @余弦 & 404团队
后续动态请关注微信公众号:Lazy-Thought
-
说明
-
关于知道创宇
-
知行合一 | 守正出奇
-
知道创宇是一家黑客文化浓厚的安全公司,愿景是让互联网更好更安全
-
-
本技能表为知道创宇研发工程师的技能树集合,是的,很庞大
-
聪明的人,会根据每个tip自驱动扩展
-
不聪明的人,坐等别人手把手,不仅不适合知道创宇,也不适合任何有极客精神的公司
-
-
附件标志是我们推荐的附加资源,感谢资源提供者
-
-
通用技能
-
公司与个人
-
公司是盈利性组织
-
个人和公司必须双赢
-
在认同公司理念且能够给公司创造足够价值的基础上,为个人发展而工作
-
-
WHO AM I
-
黑客是守正出奇且具备创造力的群体
-
守正出奇
-
这条正道/底线得坚守
-
但如果太过正就迂腐了,为了搞定任务有时得出奇招
-
-
创造力
-
一个没有创造力的人是多么的可怜,对于团队来说也是一种耻辱
-
本技能表的本质目的只有一个:引导你拥有足够的创造力
-
-
-
黑客也可以是一种思维方式
-
我们需要对得起名片上的那个头衔:工程师、研究员
-
牛人姿态
-
即使现在不是牛人,也得具备这样的姿态
-
没有一定扎实内功与远见的人很少有这样的姿态
-
拥有不将就的做事风格,迟早是牛人
-
-
-
如何做事
-
方法论
-
完成一件事有好几条途径,优秀的人的途径最短
-
任务拆分很容易得出做事的方法论
-
好的「方法论」会让你具备更强的「创造力」!
-
时刻问自己:「是否具备创造力?」
-
-
-
任务拆分
-
成长过程会经历:能力越大、责任越大、事情越多
-
思路
-
拆分细化为多个点
-
排好优先级
-
任务四象限,决定优先级
-
紧急重要
-
赶紧搞定
-
-
重要不紧急
-
时刻保持关注,以免沦为「紧急重要」
-
-
紧急不重要
-
少少益善,学会拒绝
-
-
不紧急不重要
-
靠自律
-
-
-
-
SMART原则
-
S:任务是否明确
-
不明确的任务搞起来就是浪费生命
-
-
M:任务是否可度量
-
不可度量如何体现价值?
-
-
A:任务是否可搞定
-
搞不定就不应该接,接就得有魄力搞定
-
-
R:任务的相关性如何
-
决定了任务的价值,相关性越高越能体现价值,比如这个任务搞定了能让团队获得公司、客户等更大的认可
-
-
T:任务的时间
-
Timeline:任务时间轴,什么时间点需要搞定什么
-
Deadline:任务的最后期限,做评估时最好提前,因为总会有各种意外或拖延本性
-
Timeline上一些很关键的时间点我们可以称为里程碑,搞定每个里程碑应该庆祝下
-
-
-
自己欠缺什么,立马发现
-
是否需要寻求帮助,谁能帮你,自己单干?
-
团队
-
士气第一
-
当你有团队时,分配与调度好任务很关键
-
做得好是真并发
-
做不好会死锁
-
-
-
-
-
沟通、反馈与责任
-
一个无沟通能力的人,要么是天才,要么是不可爱的人,不过天才也就寥寥无几而已,你并不是
-
反馈要及时
-
避免出问题不反馈,影响进度
-
方式
-
正式的:邮件
-
临时的:微信等即时通信
-
着急的:给个电话
-
-
-
工作有大小,责任心无大小
-
周报的透明
-
意义:大家互相了解工作与心得,有利于自己的判断与成长
-
观察是一种多重要的技能
-
不是单纯的给领导汇报工作
-
-
周报需体现本周工作总结、下周工作计划、心得/问题/建议(我们叫唧唧歪歪)
-
周报可以很好体现一个人的
-
总结能力
-
计划能力
-
分享能力
-
想象下:一个人从来没有心得/问题/建议的沉淀或反馈,这个人是一个相对封闭的人,在团队作战中很难达到默契
-
当然,这种分享能力远不仅仅是在周报这种形式里
-
-
-
-
-
团队意识
-
很多人都说自己具备足够好的团队意识,但是有些人却并不是这样
-
举个小例子:一个10人团队约定早上10点开会,而你迟到了10分钟,对于团队来说你浪费了整个团队100分钟(10人*10分钟)的生命。有些人无羞愧之心要么是意识不到这点,要么这个团队的风气就是这样...
-
-
团队意识是建立在互相信任的基础上
-
Leader最关键,优秀的Leader一定会有个优秀团队
-
兵熊熊一个
-
将熊熊一窝
-
-
如何拥有个优秀的团队是一个复杂的话题
-
-
-
成长
-
新事物的敏感性
-
保持好奇心
-
不要局限在自己的圈子,适当跨界吸收灵感
-
订阅国内外优秀博客/资源,Inoreader/深蓝阅读不错
-
选择性参与一些必要的会议,听必要的主题,讨论必要的话题
-
-
关于知识
-
对知识的渴望程度决定了前进动力的大小
-
当知识很廉价地摆在你面前,你反而不会珍惜
-
对知识保持敬畏之心
-
-
不要让自己成为矫情/浮夸的人
-
和比你厉害的人在一起,和一流的人工作
-
指点往往是精华
-
杜绝笨蛋爆炸
-
二流的人招进来的人不太可能是一流的
-
久而久之一个团队就笨蛋爆炸了
-
-
-
思考
-
批判性思考
-
换位思考
-
对于一个团队来说,这点太关键
-
-
-
提问的智慧
-
遇到问题先独立思考,尝试独立解决,尽最大努力后再提问
-
提问时,礼貌很关键(对知识的敬畏),清晰表达很关键
-
解决后,分享出来帮助更多需要帮助的人
-
-
小事心态
-
越基础的事越关键,越需要细心
-
不要一味盲目追求「高级感」,而忽视「小事」/「简单事」/「基础事」
-
基础不牢、地动山摇
-
小事做不好,别提大事
-
-
无论是个人还是团队的成长都需要不断沉淀知识,没有沉淀根基不稳
-
-
完成的定义
-
比如写个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
-
抓包与各种调试
-
-
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
-
<?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客户端
-
完整熟练
-
-
-
算法
-
快排
-
二分
-
-
正则表达式
-
调试工具
-
Kodos
-
RegexBuddy
-
支持多种语言
-
支持调试优化
-
-
-
正则图解
-
-
-
《精通正则表达式》
-
-
研发能力
-
瀑布模型
-
需求->需求分析->设计->开发->测试->上线->运维/运营
-
-
需求分析能力
-
给你一个需求,如何给出一个优美的执行思路——方法论
-
这个能力非常非常非常的关键
-
-
调试能力
-
只要定位出,就没有解决不了的Bugs
-
肉眼看到的都是假象
-
一定要专业的工具与经验配合
-
-
Bugs在哪出现,最终就在哪进行真实模拟调试
-
缩小范围
-
构建自己的测试样例
-
排除网络复杂未知情况
-
-
关联模块一个个排除
-
Python单步调试
-
import pdb;pdb.set_trace()
-
在需要单步调试的地方加上面这句,运行程序后中断在此,然后h查看指令进行一步步细细调试
-
-
粗暴调试:print
-
-
-
敏捷思想
-
快速迭代
-
任务拆细
-
v1原则:定义好v1的目标,快速完成v1为优先
-
习惯Wiki记录,利于沉淀与分享
-
-
-
翻墙
-
优雅解决方案
-
shadowsocks + 一台海外 VPS + Chrome(SwitchyOmega)/Firefox(AutoProxy)
-
-
SSH隧道
-
本地转发
-
ssh -L <local port>:<remote host>:<remote port> <SSH hostname>
-
-
远程转发
-
反弹
-
ssh -R <local port>:<remote host>:<remote port> <SSH hostname>
-
-
动态转发
-
ssh -D <local port> <SSH Server>
-
-
-
-
Web安全
-
零基础如何学习Web安全
-
Web服务组件
-
钟馗之眼
-
网络空间搜索引擎
-
-
组件具有影响面,越底层的组件影响面可能越大
-
安全维度
-
漏洞
-
风险
-
事件
-
-
Web安全标准
-
OWASP
-
WASC
-
-
实战环境
-
XSS
-
内部平台:ks-xsslab_open
-
可以上手
-
XSS
-
CSRF
-
ClickJacking
-
-
-
-
-
-
-
SQL
-
-
SQLI-LABS is a platform to learn SQLI
-
-
-
i春秋
-
Seebug + ZoomEye
-
你懂得...
-
-
工具
-
我的渗透利器
-
Firefox
-
Firebug
-
调试JavaScript,HTTP请求响应观察,Cookie,DOM树观察等
-
-
Tamper Data
-
拦截修改
-
-
Live Http Header
-
重放功能
-
-
Hackbar
-
编码解码/POST提交
-
-
Modify Headers
-
修改头部
-
-
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分析
-
-
-
Seebug + ZoomEye
-
类似这类平台都是我们需要的
-
Seebug类似的
-
https://www.exploit-db.com/
-
-
ZoomEye类似的
-
https://www.shodan.io/
-
-
-
-
Kali Linux
-
除了上面介绍的一些工具,其他海量各类型黑客工具,自己去摸索
-
-
-
书
-
《黑客攻防技术宝典(Web实战篇)》
-
《白帽子讲Web安全》
-
《Web前端黑客技术揭秘》
-
我和xisigr出品
-
-
《Web之困》
-
《SQL注入攻击与防御》
-
-
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
-
-
-
全球主流路由器相关漏洞大集合
-
-
-
Uboot_编译
-
-
-
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体系结构透视 》
-
《计算机组成与设计:硬件、软件接口》
-
-
-
摄像头安全
-
工控安全
-
基础
-
工业生产环境的基本结构,如:SCADA、PCS
-
工业生产环境的信息安全风险点(可参考DHS出版物)
-
Improving Industrial Control Systems Cybersecurity with Defense-In-Depth Strategies
-
-
工控网络组态、逻辑开发、应用组态的基本技术方法
-
抓包、看RFC分析几个常规工业以太网协议,如:Profinet、Modbus
-
买两款PLC玩玩,会真实感受到工业环境的信息安全问题(一定记得买以太网模块,不贵二手几百块)
-
-
站点
-
事件跟踪分析
-
-
Duqu
-
Stuxnet
-
Havex
-
-
标准协会/测试工具
-
DHS CET套件
-
NERC ES-ISAC
-
ICS-ISAC
-
NTSB美国国家工控测试床
-
NIST SP 800-82
-
ISA-99控制系统安全协会
-
NERC CIP标准
-
-
-
工具
-
仿真类
-
电力仿真软件testhaness
-
Modbus仿真软件ModScan
-
电力104协议仿真软件PMA
-
-
测试类
-
Wurldtech Achilles
-
Codenomicon Defensics
-
Spirent
-
BPS
-
-
源代码
-
发现
-
操纵
-
异常监测
-
Fuzz
-
-
-
其他
-
-
zoomeye.org
-
全球可以找到无数真实路由器/摄像头/工控设备等
-
-
-
研发清单
-
编码环境
-
pip
-
Docker/Vagrant
-
tmux/screen
-
vim
-
Markdown
-
zsh + oh-my-zsh
-
Python2.7+/3+
-
>Django1.4
-
其他框架
-
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
-
运维进阶
-
运维工程师必须掌握的基础技能有哪些?
-
-
-
调试
-
pdb
-
logging
-
Sentry
-
strace/ltrace
-
lsof
-
性能
-
Python内
-
timeit
-
cProfile
-
-
Python外
-
top/htop/free/iostat/vmstat/ifconfig/iftop...
-
-
-
-
算法
-
分词
-
贝叶斯
-
神经元
-
遗传算法
-
聚类/分类
-
...
-
-
持续集成
-
自测试
-
nose
-
-
Jenkins
-
-
安全
-
我的分享
-
-
协作
-
类似Trello的在线协同平台
-
Slack
-
微信
-
立会
-
-
-
设计思想
-
人人都是架构师:具备架构思想是一件多酷的事
-
实战出真知
-
如何设计
-
松耦合、紧内聚
-
单元与单元属性
-
生产者与消费者
-
结构
-
队列
-
LRU
-
-
分布式
-
存储
-
计算
-
-
资源考虑
-
CPU
-
内存
-
带宽
-
-
粗暴美学/暴力美学
-
大数据,先考虑run it,然后才能知道规律在哪
-
「run it优先」能快速打通整体,洞察问题
-
「run it优先」能摆脱细节(繁枝末节)的束缚
-
「run it优先」能快速迭代出伟大的v1
-
-
一个字总结
-
美
-
-
-
牛人1,2,3
-
1研究:研究东西,有足够洞察力,研究水准不错
-
2研发:Hack Idea自己有魄力实现,不懂研发的黑客如同不会游泳的海盗
-
3工程:研发出来的需要实战、需要工程化,否则只是玩具,而不能成为真的武器
-
-
-
优质资源
-
书
-
多关注电子工业/图灵/机械工业/人民邮电等出版社,他们有专业团队来保障每年输出优质书籍
-
自己需要掌握鉴别好书的能力
-
-
站点
-
RSS订阅
-
漏洞相关
-
强烈推荐圈内人打造的深蓝阅读
-
这上面已经很多黑客/技术类似的RSS资源了
-
-
威胁情报
-
本来不想提任何这方面的,想想还是抖个资源,如下
-
-
安全平台
-
在线学习平台
-
PoC提交与学习
-
-
-
结尾
-
本技能表会持续不断更新
-
如果有相关好资源/建议可以联系我:[email protected]
-
如果本技能表引起你的强烈共鸣,想加入我们,可以联系我:[email protected],我会结合你的情况
-
给你仅仅一道有趣的笔试题
-
或者和你线下约聊
-
-
邮件联系我,邮件标题务必包含「技能表」三个字,感谢
-
TO BE A HACKER:)
-
-