知道創宇研發技能表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 <?php header("Location: 3.php"); ?>
      • 301 <?php header(“HTTP/1.1 301 Moved Permanently”); header(“Location: 2.php”);
      • 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客戶端 ,完整熟練
  • 算法
    • 快排
    • 二分
  • 正則表達式
  • 研發能力
    • 瀑布模型:需求->需求分析->設計->開發->測試->上線->運維/運營
    • 需求分析能力
      • 給你一個需求,如何給出一個優美的執行思路——方法論
      • 這個能力非常非常非常的關鍵
    • 調試能力
      • 只要定位出,就沒有解決不了的Bugs
      • 肉眼看到的都是假象,一定要專業的工具與經驗配合
      • Bugs在哪出現,最終就在哪進行真實模擬調試
      • 縮小範圍
        • 構建自己的測試樣例
        • 排除網絡複雜未知情況
        • 關聯模塊一個個排除
        • Python單步調試
          • import pdb;pdb.set_trace()
          • 在需要單步調試的地方加上面這句,運行程序後中斷在此,然後h查看指令進行一步步細細調試
          • 粗暴調試:print
    • 敏捷思想
      • 快速迭代
      • 任務拆細
      • v1原則:定義好v1的目標,快速完成v1爲優先
      • 習慣Wiki記錄,利於沉澱與分享

Web安全

  • 零基礎如何學習Web安全
  • Web服務組件
    在這裏插入圖片描述
  • 安全維度
    • 漏洞
    • 風險
    • 事件
  • Web安全標準
    • OWASP
    • WASC
  • 實戰環境
  • 工具
    • 我的滲透利器

    • HTTP代理

      • Fiddler,非常經典好用的Web調試代理工具
      • Burp Suite,神器,不僅HTTP代理,還有爬蟲、漏洞掃描、滲透、爆破等功能
      • mitmproxy,Python寫的,基於這個框架寫神器實在太方便了
    • 漏洞掃描

      • AWVS,不僅漏掃方便,自帶的一些小工具也好用
      • Nmap,絕對不僅僅是端口掃描!幾百個腳本
      • Python自寫腳本/工具
    • 漏洞利用

      • sqlmap,SQL注入利用最牛神器,沒有之一
      • Metasploit,最經典的滲透框架
      • Hydra,爆破必備
    • 抓包工具

      • Wireshark,抓包必備
      • Tcpdump,Linux下命令行抓包,結果可以給Wireshark分析
    • 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+
    • 瑞昱

站點

工具

  • 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章