知道創宇研發技能表v2.2
2014/3/9 發佈
by @知道創宇(www.knownsec.com) @餘弦 & 行之
知道創宇是國內Geek十足且普遍被認爲特別有前途的互聯網安全公司,
動態請關注微信公衆號:Lazy-Thought。
-
說明
-
本技能表爲知道創宇研發工程師必備技能
-
聰明的人會根據每個tip自驅動擴展
-
不聰明的,坐等別人手把手的人請繞行,不僅不適合知道創宇,也不適合任何有Geek精神的公司
-
附件標誌是我們推薦的附加資源,感謝資源提供者
-
-
通用技能
-
公司與個人
-
公司是盈利性組織
-
個人和公司必須雙贏
-
工作
-
在認同公司理念且能夠給公司創造足夠價值的基礎上,爲個人發展而工作
-
-
-
溝通、反饋、責任
-
一個無溝通能力的人,要麼是天才,要麼是不可愛的人
-
反饋要及時
-
避免出問題不反饋,影響進度
-
方式
-
正式的:郵件
-
臨時的:QQ等即時通信
-
禮貌的:給個電話、短信
-
-
-
工作有大小,責任心無大小
-
週報的透明
-
意義:大家互相瞭解工作與心得,有利於自己的判斷與成長
-
不是單純的給領導彙報工作
-
-
-
任務四象限,決定優先級
-
緊急重要
-
重要不緊急
-
緊急不重要
-
不緊急不重要
-
-
新事物的敏感性
-
保持好奇心
-
不要侷限在自己的圈子,適當跨界吸收靈感
-
訂閱國內外優秀博客/資源,鮮果RSS閱讀不錯
-
英文很重要
-
-
選擇性參與一些必要的會議,聽必要的主題,討論必要的話題
-
-
成長
-
對知識的渴望程度決定了前進動力的大小
-
BT常說:「做人一定要狂熱!」
-
我說:「一定得貪婪!」
-
-
不要矯情,不要浮誇!
-
和比你厲害的人在一起,和一流的人工作
-
指點往往是精華
-
杜絕笨蛋爆炸
-
二流的人招進來的人不太可能是一流的
-
-
-
思考
-
批判性思考
-
換位思考
-
-
提問的智慧
-
遇到問題先獨立思考,盡最大努力後再提問
-
http://www.wapm.cn/smart-questions/smart-questions-zh.html
-
-
小事心態
-
越基礎的事越關鍵,需要越細心
-
不要一味盲目追求「高級感」,而忽視「小事」/「簡單事」/「基礎事」
-
基礎不牢、地動山搖
-
小事做不好,別提大事
-
-
任務拆分
-
方法論
-
完成一件事有好幾條途徑,優秀的人的途徑最短
-
任務拆分很容易得出做事的方法論
-
好的「方法論」會讓你具備更強的「創造力」!
-
時刻問自己:「是否具備創造力?」
-
-
-
-
牛人姿態
-
即使現在不是牛人,也得具備這樣的姿態
-
這種感覺只能意會
-
沒有一定紮實內功與遠見的人很少有這樣的姿態
-
-
完成的定義
-
比如寫個POC
-
1. 搞懂了目標Web應用漏洞的原理
-
2. 熟練運用Python各相關模塊與機制
-
3. 熟練了解了HTTP協議
-
HTTP請求
-
HTTP響應
-
-
4. 代碼寫得夠規範,讓人看起來就是爽
-
5. 程序經過足夠的測試
-
黑測試
-
白測試
-
-
6. 及時反饋進度
-
我遇到困難了
-
我搞定了
-
-
7. 更新相關文檔,沉澱
-
-
-
熟練的定義
-
比如熟練SQL注入
-
SQL語句這門“語言”能脫離文檔順手寫出
-
主流數據庫的SQL特有函數、存儲過程、機制我都瞭如指掌
-
MySQL
-
MSSQL
-
Oracel
-
Postgre
-
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";
-
正則(弱),js引擎(王道)
-
-
-
-
Python編碼規範
-
入門書
-
Python核心編程2
-
第4章 Python對象
-
完整熟練
-
-
6.8 Unicode
-
完整熟練
-
-
8.11 迭代器和iter()函數
-
完整熟練
-
-
第9章 文件的輸入和輸出
-
完整熟練
-
-
第10章 錯誤和異常
-
完整熟練
-
-
第11章 函數和函數式編程
-
完整熟練
-
-
第12章 模塊
-
完整熟練
-
-
第14章 執行環境
-
完整熟練
-
-
第15章 正則表達式
-
完整熟練
-
-
第18章 多線程編程
-
完整熟練
-
-
20.2 使用Python進行Web應用:創建一個簡單的Web客戶端
-
完整熟練
-
-
-
-
Office能力
-
Word文檔編寫,看去要專業,尤其對外的
-
Excel裏面大量的統計、圖表功能,需要善於使用
-
PPT演講、培訓等必備,如何做好PPT?百度一下……
-
進一步
-
yEd
-
Visio
-
FreeMind
-
本技能表就是這個製作
-
-
-
-
熟練VIM
-
算法
-
快排
-
二分
-
-
正則表達式
-
調試工具
-
Kodos
-
RegexBuddy
-
支持多種語言
-
支持調試優化
-
-
-
正則圖解
-
-
-
-
研發能力
-
瀑布模型
-
需求->需求分析->設計->開發->測試->上線->運維/運營
-
-
需求分析能力
-
給你一個需求,如何給出一個優美的執行思路——方法論
-
這個能力非常非常非常的關鍵
-
-
調試能力
-
只要定位出,就沒有解決不了的Bugs
-
肉眼看到的都是假象
-
一定要專業的工具與經驗配合
-
-
Bugs在哪出現,最終就在哪進行真實模擬調試
-
縮小範圍
-
構建自己的測試樣例
-
排除網絡複雜未知情況
-
-
關聯模塊一個個排除
-
Python單步調試
-
import pdb;pdb.set_trace()
-
在需要單步調試的地方加上面這句,運行程序後中斷在此,然後h查看指令進行一步步細細調試
-
-
粗暴調試:print
-
-
-
敏捷思想
-
快速迭代
-
任務拆細
-
v1原則:定義好v1的目標,快速完成v1爲優先
-
習慣Wiki記錄,利於沉澱與分享
-
-
-
翻牆
-
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安全標準
-
OWASP
-
WASC
-
我們內部Wiki
-
-
實戰環境
-
XSS
-
ks-xsslab_open(內部虛擬機)
-
可以搞通
-
XSS
-
CSRF
-
ClickJacking
-
-
-
-
-
SQL
-
-
SQLI-LABS is a platform to learn SQLI
-
-
-
500多個WSL靶場
-
滲透虛擬機/BT5/Kali
-
海量各類型黑客工具
-
-
-
書
-
黑客攻防技術寶典(Web實戰篇)
-
白帽子講Web安全
-
Web前端黑客技術揭祕
-
我和xisigr自己出品
-
-
SQL注入攻擊與防禦
-
-
papers
-
BlackHat/Defcon/國內各安全沙龍等Papers需要持續跟進
-
-
研發清單
-
編碼環境
-
pip
-
Vagrant
-
tmux/screen
-
vim
-
zsh + oh-my-zsh
-
Python2.7
-
>Django1.4
-
web.py
-
node.js
-
Ubuntu/Gentoo/Centos
-
ipython
-
版本控制
-
git/svn
-
gitlab
-
-
Nginx+uWSGI
-
-
Python
-
官方手冊
-
至少過一遍,這都沒過一遍,視野會侷限
-
行之說:「我沒看過Python的書,卻熟讀官方手冊……」
-
-
-
Linux
-
書
-
-
前端
-
書
-
JavaScript DOM編程藝術
-
-
瞭解DOM
-
這同樣是搞好前端安全的必要基礎
-
-
庫
-
jQuery
-
優秀的插件應該體驗一遍,並做些嘗試
-
官方文檔得過一遍
-
-
ECharts
-
來自百度
-
-
Google API
-
ZoomEye Map組件
-
ZoomEye團隊自己基於開源的打造
-
-
AngularJS
-
Google出品的顛覆性前端框架
-
-
Bootstrap
-
應該使用一遍
-
-
-
-
爬蟲進階
-
代理池
-
爬蟲「穩定」需要
-
-
網絡請求
-
wget/curl
-
urllib2/httplib2/requests
-
scrapy
-
-
驗證碼破解
-
pytesser
-
-
-
調度
-
crontab是最原生的定時調度
-
基於redis實現的分佈式調度
-
基於rpyc實現的分佈式調度
-
celery/gearman等調度框架
-
-
併發
-
線程池
-
進程內優美的併發方案
-
-
協程
-
進程內另一種優美的併發方案
-
-
多進程
-
os.fork
-
multiprocessing
-
-
-
數據結構
-
JSON
-
cPickle
-
protobuf
-
-
數據庫
-
MySQL
-
MongoDB
-
Cassandra
-
Hadoop體系
-
Redis
-
Sqlite
-
bsddb
-
-
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的在線協同平臺
-
微信
-
立會
-
-
-
設計思想
-
人人都是架構師:具備架構思想是一件多酷的事
-
實戰出真知
-
如何設計
-
鬆耦合、緊內聚
-
單元與單元屬性
-
生產者與消費者
-
結構
-
隊列
-
LRU
-
-
分佈式
-
存儲
-
計算
-
-
資源考慮
-
CPU
-
內存
-
帶寬
-
-
粗暴美學/暴力美學
-
大數據,先考慮run it,然後才能知道規律在哪
-
「run it優先」能快速打通整體,洞察問題
-
「run it優先」能擺脫細節(繁枝末節)的束縛
-
「run it優先」能快速迭代出偉大的v1
-
-
一個字總結
-
美
-
-
-
優質資源
-
牛人1,2,3
-
1研究:研究東西,有足夠洞察力,研究水準不錯
-
2研發:hack idea自己有魄力實現,不懂研發的黑客如同不會游泳的海盜
-
3工程:研發出來的需要實戰、需要工程化,否則只是玩具,而不能成爲真的武器
-
-