標籤:

如何成為一名優秀的黑客?

相關問題:

黑客是怎樣煉成的?

自學成才的黑客(安全研究員)是從哪學到那些知識的?

黑客(安全研究員)是怎樣開始黑客生涯的,經歷怎樣的學習過程?


2014.10.25 11:33更新為一圖流

目測會被壓縮,備份了一份發博客了,大牛莫黑,原諒小菜,我不是裝逼,只是想共享一點是一點,該黑的是那些毫無共享的商業狗,不是嗎?

http://chinasiro.com/Hearts/Zhihu-Hacker.aspx

2014.10.21 12:57更新「關於技術」

優秀的黑客,因為夢想而活著的人。

當然不只是在信息安全,在設計、開發或者修自行車中,你也可能是個黑客。

在生活中的思維和行為也一定要黑客。

當然我所說的「黑客」是精神,而不是技能。

我決定很認真的回答這個問題,長期更新。

在共享的同時,也激勵了自己。

「什麼是他媽的黑客」

在這個名詞泛濫的信息時代,盜號的可以稱之為黑客,使用別人工具破壞的也是黑客,那麼我是什麼嗎,或者說我們他媽的算什麼。

有人說我們是黑客白帽,但也有朋友徘徊在黑白之間,WTF,明明一家人非扣個帽子,真心希望看過答案的人,把那些初入網路的腳本小子稱之為小學生,駭客他們都配不上。

那麼黑客到底他媽的有什麼特徵呢?

第一點,追隨自由。

但這個自由在我的眼裡應該是這樣的「Freedom is not free」或者是「畏法度者最自由」

畢竟腳下踩著灰,吸著中國的空氣,在為人民服霧的環境中,追隨自由過頭了就是犯罪。

自由,你可以編程,自由你可以像我一樣去罵WTF,也可以去買些新的硬體,但不能傷人傷己…

第二點,懂得共享。

就目前國內環境而言,大部分社區和技術峰會,亂七八糟的會議和演講,都是「偽共享」,不以共享為目的的技術交流都是耍流氓,對,耍——流氓。

為毛我要這樣講,你的母親會教會你走路,不需要任何門票也不需要任何門檻,這是真正的共享。

聽演講需要門票,以共享為精神的社區卻有著訪問許可權,我了個大操!你們真的明白什麼叫他喵的共享?臭流氓!

再一個例子,就是我把這個字發到知乎,你點了贊,別人看到動態,發鏈接給別人,別人再轉發,期間沒有任何障礙。

這只是說共同特點,後面再詳細講。

第三點,痴迷技術。

互聯網有著二十四小時運行的能力,人類也有著不同時差的情況,鑄造出了一小群痴迷於此的黑客。

不停的利用互聯網查閱自己感興趣的知識,就像你在翻閱這行字一樣,只不過他們更傾向於自己業內的事情。

程序員有過千辛萬苦Debug的那一刻,設計師有過靈光一現,筷子掉在半空中—咻—穩穩抓住,心裡痛爽一句「哥練過,酷酷的」。

痴迷到什麼程度我不清楚,但我個人如果把自己所接受到關於此類的知識總結整理一遍,我只想到了萬馬奔騰!!腦袋真的會爆炸,可惜至今沒興趣把追求技術的心思,丟在某些用不到的學問上。

最後一點,夢想。

點燃手中的煙,抬頭遙看遠方,默默的念「是的,夢想」。

我一直堅持「夢想與金錢無關」的原則來做,在我看來但凡注重利益就一定會影響純度。

想想幾年後,你會因為今天的你,對互聯網安全做出了貢獻,沒有賺取利潤,而後悔嗎?

我不會,我可以刷盤子可以學設計學開發,也不願意去拿著技術去賺錢,我要保護好他,除非哪天逼不得已,需要拿我的夢想去養活更多有夢想的人。

接觸這行十餘年,發展比其他大牛慢,但我發現一個共同點。

大牛都是學院派,曾經都是別的行業。

而我們這些野生的,都是從小的興趣,堅持走到今天。

所以一直討厭某些大牛,技術好背景厚,但你們他媽的能不能別太商業化?!

本來好好的環境從04年開始逐漸變臭,銅臭味!

你們可以拿著技術當作飯吃,我們卻只能拿著夢想當飯吃,當然我們吃的還他媽是精神食糧。

不過慶幸的是,我們已經想好了一個項目,理論上可以打擊下目前的各種不夠黑客的環境,預計明年中旬成熟之後才會上線。

今天就寫這麼么多,明天起來了再繼續寫下關於技術?關於生活和思維?——2014.10.21凌晨1:12

中午睡前來一發,關於技術的吧。

第一點,我想提到的是「獲取渠道」

小時候,我們的獲取渠道是黑基那種站點上的視頻,回首簡直不堪入目,但是!但是!雖然層次不高,至少那個年代的我們,可以把自己懂的共享給別人,哪怕渣技術哪怕只是為了裝逼也會投稿,好吧我就不吐槽這幾年不斷湧出的商業狗了。

根據我個人的獲取渠道,有以下幾點:

~RSS訂閱

訂閱各大漏洞平台,資訊站點,個人博客。

獲取效率比自己手動打開網站要高很多。

~微博

恩,不得不提這的確是個雙刃劍。

可以最高效的獲取業界動態,甚至針對個人的動態。

悲劇的是像我這樣的屌絲毫無存在感(′▽`〃)好吧,哥哥,我可以求個粉嗎

~社區論壇

其實這是最不能的辦法,因為你不能確保社區內容質量,更不能確定你是否有閱讀許可權阿。

╰_╯操他媽的社區論壇式的偽共享!

~朋友圈

這裡當然不是說微信了啦。

人都有自己的基友阿,比如我大九區就很好啊,各有千秋的人聚在一起,偶爾喝個小酒,失戀了戀愛了群里聊聊天,當然技術也是如此阿。

太子狗T_T我辣么愛你,你竟然愛上了那個美利堅5555555

具體都需要訂閱哪些RSS看你個人愛好啦,不然訂閱了忽略而過就是浪費時間阿。

有了獲取渠道,恩,該談談「學習方式」

針對不同的類別,都有不同的具體方式。

但唯獨不會變的就是("?`)堅持啦

好吧,上面那行對了一半,其實是(′ェ`)實戰!

閱盡AV的目的還是在實戰中找到自我~

做開發的有過,看十遍書不如做一次項目的感覺?

做設計的有過,想十個創造不如拿筆畫一遍草圖感覺?

做安全同理,但優秀的地方在於要分清什麼情況下適合白盒戰場和黑盒戰場。

白盒是指自己搭建受攻陷的環境,指能夠獲取源碼或者其他詳細信息。

適用於,測試開源產品,0day,或者無法快速找到別人在用的漏洞。說個詳細的,代碼審計。

黑盒指你蒙著雙眼去尋找G點,不知道目標使用的環境。

適用於,去挖掘廠商漏洞,或者說是商業產品的漏洞,畢竟開源已經很普及了。說個詳細的XSS盲打。

其實有一個好的習慣就是,整理自己的文檔,當你今後遇到同一問題的時候可以快速解決。

簡單寫這些,別笑,寫成天書的你看不下去,所以我能寫成這樣,已經夠了喂!明明就是個成天賣萌的暖男(○』ω』○)不過不至於看完連朋友都做不得吧。

有空寫真正的精髓吧「思維和生活」

以上,更新於2014.10.21 12:57


還不是一名優秀黑客,只是小白而已,但是也來回答一下,乘著我剛接觸不久,碼一下我的個人經驗。

首先快速入門很重要,因為只有進了門之後你才知道這裡面都有什麼,你需要學習的是什麼。

怎麼快速入門?好吧,我也簡單說說,關注一些大牛,像 @餘弦@tombkeeper@黑哥@大風 等,關注一些你感興趣的話題,一些主流的論壇(為了避免廣告嫌疑不具體指出。不過不介意你關注我的博客http://hal0eye.com ),然後肯定會遇到一些不會的辭彙,google+baidu吧,感覺百度百科有些東西講的還是不錯的,比如我就通過百度百科把基礎的網路協議過了一遍,而我的入口僅僅是一個ping.當然還有書籍,我是搞web的所以推薦《web前端黑客技術揭秘》《白帽子講安全》《黑客攻防技術寶典web實戰篇》

實踐是檢驗真理的唯一標準!實踐真的狠重要,怎麼實踐?從最簡單的sql注入開始吧,(當然我說簡單,是相對那些小站防備不高的來說的),我最開始的時候直接關鍵詞一搜一大把,不過請保持節操,進去看看,練練手就行了,不要搞破壞。要學會使用滲透工具,不要聽那些天天鄙視工具狗的人的,要善假於物也,然後要弄懂工具的原理,可以慢慢來,不要慌,不急不躁多思考。

經過大量的實戰之後,我想你再回過頭去看那基本書的時候就不會那麼雲里霧裡了。要有「卧槽,你說的好有道理的感覺」。

說到工具,多說幾句,我入門的時候最開始是safe3,北極熊,jsky,之類的,現在的話有工具包,然後kali也用的越來越溜了。自己慢慢網上找吧。

以上都做的差不多了,就要停下來整理整理了,要形成體系,要有一套自己的思考方式,對於滲透的整個過程和思路都要有完整的認知。

要學會分配自己的時間,就是告訴你該翹課的就別猶豫,有的課真的是一文不值的說。

然後選個自己想深入的方向,所謂的T型人才,既要有廣度,又要有深度。

烏雲最近出來個烏雲維基,上面總結的清晰明了:WooYun WiKi [WooYun WiKi]

最後介紹下自己:大三,接觸網路安全將近4個月的時間,當然,我的專業是軟體工程,有一定的編程基礎,所以感覺學的快點,哈哈^-^!

---------------------------------昨天有人加我好友之後又問了我怎麼學,所以再補充點吧--------------------------

首先要有自己的目標,比如我剛開始的目標就是隨便黑一個試試,看看就行,記得第一次還是朋友給我找的一個任意文件上傳的漏洞,然後傳個大馬上去了。雖然過程簡短,沒有想像中的難喝複雜,但是說實話,當我打開大馬頁面的那一刻還是非常刺激的,第一次嗎,速度總是有點快的。

之後,我就立了短期目標,恩,就是把學校的站拿下幾個,然後就要各種搜資料啊,(其實學校的站還是比較簡單的,我拿下之後要麼提烏雲,要麼提學校了,我是白帽^-^).怎麼搜資料?呵呵,你可以上烏雲直接找找例子啊,不懂的在查資料,然後配合上面給出的工具么,最終我還是拿下學校的教務系統了。

為什麼黑站?恩,其實就是為了練練手感吧,有時候也是為了找點樂子,恩!這是一種病,很多小站提烏雲根本就是忽略,對於這樣的廠商就權當給中國的網路安全做貢獻了吧。

再後來,就慢慢的深入學習,如上所說的。

整理了下入門的資料:web安全的一些資料匯總


1.不怕折騰,越折騰越好!

2.不怕學的多,學的越雜越好!

3.最最重要的是要夠猥瑣!越猥瑣越好!!!


2016.11.20更新

---------------------------------------------------------------------------------------------------------

很多人在嚮往黑客的時候,實際上是在嚮往那種入侵的能力, 嚮往那種電腦世界裡的俠客, 如果是這樣, 那大多會覺得下面分享的內容有些過於冠冕堂皇,似乎是在教導大家如何成為極客。 但實際上, 凡是動手學習過攻防技巧與知識的人都會意識到,攻防的核心就在於漏洞的挖掘利用以及修補, 而 凡是真正安全敏感的系統(例如銀行系統),早已經被無數人嘗試者攻擊並被無數次地填補過漏洞。 要想在前人的基礎上,發掘新的漏洞並加以利用,則必須具有下文所描述的技能與心態,否則要麼會失去耐心與動力,要麼會迷失於利益得失之中,一不小心還有可能誤入歧途。

行外人總是難以體會安全領域的敏感性, 可是真正入了行之後就會明白, 有些事情並不是想像中的那麼簡單。 所以即便讀者的目標是成為一個具有入侵能力而不做壞事的「黑客」(這很危險), 以下轉載的內容都具有很強的參考意義。

---------------------------------------------------------------------------------------------------------

最棒的答案(祁兮,小文所給出的)因為沒有得到最多的支持不能被大部分人看到,好可惜

我還是想把他們的答案直接粘貼出來,希望能有機會被更多地人看到。

如何成為一名黑客

Copyright ? 2001 by Eric S. Raymond

翻譯:Barret

翻譯水平有限,歡迎來信指教,我的Email是barret(a)http://ynmail.com, 但請勿問電腦技術問題(反正也不懂)。

允許未經作者及譯者的同意進行非商業目的的轉載,但必須保持原文的完整性。

內容一覽為什麼會有這份文檔?什麼是黑客?黑客應有的態度黑客的基本技能黑客文化中的地位黑客和書獃子(Nerd)的聯繫風格的意義其它資源FAQ(常問問題解答)

為什麼會有這份文檔?

作為 Jargon File 的編輯和 一些其他有名的類似性質文章的作者,我經常收到充滿熱情的網路新手的email提問(確實如此) 「我如何才能成為一名出色的黑客?」非常奇怪的是似乎沒有任何的FAQ或者Web形式的文檔來說明這個 十分重要的問題,因此我寫了一份。

如果你現在讀的是這份文檔的離線拷貝,那麼請注意當前最新版本(英文版)在 http://www.tuxedo.org/~esr/faqs/hacker-howto.html可以得到。

注意:在這份文檔最後有 FAQ(常問問題解答)。 請在向我提出任何關於這份文檔的疑問之前讀兩遍。

目前這份文檔有很多翻譯版本: 保加利亞語, 簡體中文, 繁體中文, 丹麥語, 荷蘭語, 法語, 德語, 匈牙利語, 印尼語, 日語, 朝鮮語, 葡萄牙語, 俄語及瑞典語。 注意由於這份文檔時有修正,所以以上翻譯版本可能有不同程度的過時。

什麼是黑客?

Jargon File 包含了一大堆關於「hacker」這個詞的定義,大部分與技術高超和熱衷解決問題 及超越極限有關。但如果你只想知道如何 成為 一名黑客, 那麼只有兩件事情確實相關。

這可以追溯到幾十年前第一台分時小型電腦誕生, ARPAnet 實驗也剛展開的 年代,那時有一個由程序設計專家和網路名人所組成的, 具有分享特點的文化社群。 這種文化的成員創造了 「hacker」 這個名詞。黑客們建立了 Internet。 黑客們發明出了現在使用的 UNIX 操作系統。黑客們使 Usenet 運作起來, 黑客們讓 WWW 運轉起來。如果你是這個文化的一部分,如果你對這種文化有所貢獻,而且 這個社群的其它成員也認識你並稱你為 hacker, 那麼你就是一位黑客。

黑客精神並不僅僅局限在軟體的黑客文化中。 有人用黑客態度對待其它事情,如電子學和音樂—— 事實上,你可以在任何最高級別的科學和藝術活動中發現它。 精於軟體的黑客讚賞這些在其他領域的同類並把他們也稱作黑客—— 有人宣稱黑客天性是絕對獨立於他們工作的特定領域的。 但在這份文檔中, 我們將注意力集中在軟體黑客的技術和態度, 以及發明了「黑客」一詞的以共享為特徵的文化傳統之上。

有一群人大聲嚷嚷著自己是黑客,但他們不是。 他們(主要是正值青春的少年)是一些蓄意破壞計算機和電話系統的人。 真正的黑客把這些人叫做「駭客」(cracker),並不屑與之為伍。 多數真正的黑客認為駭客們又懶又不負責任,還沒什麼大本事。 專門以破壞別人安全為目的的行為並不能使你成為一名黑客, 正如 用鐵絲偷開走汽車並不能使你成為一個汽車工程師。 不幸的是,很多記者和作家往往錯把「駭客」當成黑客; 這種做法一直使真正的黑客感到惱火。

根本的區別是:黑客搞建設,駭客搞破壞。

如果你想成為一名黑客,請接著讀下去。如果你想做一個駭客,去讀 alt.2600 新聞組,並在意識到你並不像自己想像的那麼聰明後去坐五到十次監獄。 關於駭客,我只想說這麼多。

黑客應有的態度

黑客們解決問題,建設事物,同時他們崇尚自由和無私的雙向幫助。 要被他人承認是一名黑客,你的行為得體現出你好像具備了這種態度一般。 而要想做得好象你具備這種態度一般,你就得切切實實堅持它。

但是如果你認為培養黑客態度只是一條在黑客文化圈中得到承認的路子, 那就大錯特錯了。成為具備這些特質的這種人對 你自己非常重要——有助於你學習,及給你提供源源不斷的動力。 同所有創造性的藝術一樣,成為大師的最有效方法就是模仿大師的精神—— 不僅從智力上,也要從感情上進行模仿。

或許, 下面這首現代的禪詩很好的闡述了這個意思:

To follow the path:(沿著這樣一條道路:)

look to the master,(尋找大師,)

follow the master,(跟隨大師,)

walk with the master,(與大師通行,)

see through the master,(洞察大師,)

become the master.(成為大師。)

嗯,如果你想成為一名黑客,反覆讀下面的事情直至你相信它們:

1. 世界充滿了待解決的迷人問題。

做一名黑客會有很多樂趣,但卻是要費很多氣力方能得到的樂趣。 這些努力需要動力。成功的運動員從鍛煉身體、超越自我極限的愉悅中得到動力。 同樣,做黑客,你得能從解決問題,磨練技術及鍛煉智力中得到基本的樂趣。

如果你還不是天生的這類人又想做黑客,你就要設法成為這樣的人。 否則你會發現,你的黑客熱情會被其他分心的事物吞噬掉——如金錢、性和社會上的虛名。

(同樣你必須對你自己的學習能力建立信心——相信儘管當你對某問題近乎一無所知, 但只要你一點一點地試驗、學習,最終會掌握並解決它。)

2. 一個問題不應該被解決兩次。

聰明的腦袋是寶貴的有限的資源。當世界還充滿非常多有待解決的有趣的新問題時, 它們不應該被浪費在重新發明輪子這類事情上。

作為一名黑客,你必須相信其他黑客的思考時間是寶貴的——因此共享信息, 解決問題並發布結果給其他黑客幾乎是一種道義,這樣其他人就可以去解決 問題而不是不斷地忙於對付舊問題。

(你不必認為一定要把你 所有的發明創造公布出去, 但這樣做的黑客是贏得大家極度尊敬的人。賣些錢來養家糊口,租房買計算機 甚至發大財和黑客價值觀也是相容的,只要你別忘記你還是個黑客。)

3. 無聊和乏味的工作是罪惡。

黑客(泛指具有創造力的人們)應該從來不會被愚蠢的重複性勞動所困擾, 因為當這種事情發生時就意味著他們沒有在做只有他們才能做的事情—— 解決新問題。這樣的浪費傷害每一個人。因此,無聊和乏味的工作不僅僅是 令人不舒服而已,而且是罪惡。

作為一個黑客,你必須堅信這點並儘可能多地將乏味的工作自動化, 不僅為你自己,也為了其他人(尤其是其他黑客們)。

(對此有一個明顯的例外。黑客有時也做一些在他人看來是重複性或枯燥的工作 以進行「腦力休息」,或是為了獲得某種技能,或是獲得一些除此以外無法獲得的 特別經驗。但這是自願的——有腦子的人不應該被迫做無聊的活兒。)

4. 自由萬歲。

黑客們是天生的反獨裁主義者。 任何能向你發命令的人能夠迫使你停止解決令你著迷的問題, 同時,按照獨裁者的一般思路,他通常會給出一些極端愚昧的理由。 因此,不論何處,任何獨裁主義的作法,只要它壓迫你和其他黑客,你就要和它斗到底。

(這並非向所有權威挑戰。兒童需要監護,罪犯要被看管起來。 如果服從命令得到某種東西比起用其他方式得到它更節約時間,黑客可以同意 接受某種形式的權威。但這是一個有限度的,有意的交易; 那種權威想要的個人服從不是你應該同意給予的。)

權威喜歡審查和保密。他們不信任自願的合作和信息的共享—— 他們只喜歡由他們控制的所謂「合作」。因此,作為一個黑客, 你得對審查、保密,以及使用武力或欺騙去壓迫有行為能力的人們的做法有一種本能的敵意。 同時你要有為此信念鬥爭的意願。

5. 態度不能替代能力。

作為一名黑客,你必須培養起這些態度。 但只具備這些態度並不能使你成為一名黑客,也不能使你成為一個運動健將和搖滾明星。 成為一名黑客需要智力,實踐,奉獻精神和辛苦工作。

因此,你必須學會懷疑,並尊重各種各樣的能力。 黑客們不會為那些裝模做樣的人浪費時間,但他們卻非常尊重能力—— 尤其是從事黑客工作的能力,不過任何能力總歸是好的。 具備很少人能具備的那些方面的能力尤其好,其中具備 涉及腦力、技巧和專註方面能力的當然最好。

尊敬能力,你就會享受到提高自己能力的樂趣—— 辛苦的工作和奉獻會變成一種高度娛樂而非苦差事。 要想成為一名黑客,這一點非常重要。

黑客的基本技能

黑客態度重要,但技術更加重要。 態度無法替代技術,在你被別的黑客稱為黑客之前,有一些基本的技術你必須掌握。

這些基本技術隨著新技術的出現和老技術的過時也隨時間在緩慢改變。 例如,過去內容包括使用機器語言編程,而直到最近才包括了HTML。 總的來說現在主要包括以下技術:

1. 學習如何編程。

這當然是最基本的黑客技能。如果你還不會任何編程語言,我建議你從Python開始。 它設計清晰,文檔齊全,合適初學者入門。 它是一門很好的入門語言,並且不僅僅只是個玩具; 它非常強大、靈活,也適合做大型項目。 我有一篇 Python評價詳細說明這點。好的 教程 可以在Python網站得到。 (譯者:比較好的中文Python站點可能是http://pythonrecord.51.net。)

Java也是好的入門語言。它比Python難得多,但是生成的代碼速度也快得多。 它同時也是一種優秀的計算機語言,不止是用來入門。

但是注意,如果你只會一兩門語言,你將不會達到黑客所要求的技術水平, 甚至也不能達到一個程序員的水平——你需要學會如何以抽象的方式思考編程問題, 獨立於任何語言。要做一名真正的黑客,你需要學會在幾天內通過一些手冊, 結合你現在所知,迅速掌握一門新語言。這意味著你應該學會幾種截然不同的語言。

如果要做一些重要的編程工作,你將不得不學習C語言,Unix的核心語言。 C++與C非常其他類似;如果你了解其中一種,學習另一種應該不難。 但這兩種都不適合編程入門者學習。而且事實上,你越避免用C編程,你的工作效率會越高。

C非常有效率,節約你的機器資源。不幸的是,C的高效是通過你手動做很多底層的管理 (如內存)來達到的。底層代碼都是複雜極易出現bug的,會使你花極多的時間調試。 如今的機器速度如此之快,這通常是得不償失——比較明智的做法是使用一種運行較慢、較低 效率,但大幅節省你的時間的語言。因此,選擇Python。

其他對黑客而言比較重要的語言包括 Perl和 LISP。 Perl實用,值得一學;它被廣泛用於動態網頁和系統管理, 因此即便你從不用Perl寫程序,至少也應該學會看。許多人使用Perl的理由和 我建議你使用Python的理由一樣,都是為了避免用C完成那些不需要C高效率的工作。 你會需要理解那些工作的代碼的。

LISP值得學習的理由不同——最終掌握了它時你會得到豐富的啟迪和經驗。 這些經驗會使你在以後的日子裡成為一個更好的程序員,即使你實際上很少使用LISP本身。

當然,實際上你最好五種都會(Python,Java,C/C++,Perl和LISP)。 除了是最重要的黑客語言外,它們還代表了截然不同的編程思路和方法,每種都會讓你受益非淺。

這裡我無法給你完完全全的指導教會你如何編程——這是個複雜的技能。 但我可以告訴你,書本和上課也不能作到(最好的黑客中,有許多,也許 幾乎都是自學成材的)。 你可以從書本上學到語言的特點——只是一些皮毛, 但要使書面知識成為自身技能只能通過實踐和虛心向他人學習。 因此要作到 (一)讀代碼(二)寫代碼

學習如何編程就象學慣用優美的自然語言寫作一樣。 最好的做法是讀一些大師的名著,試著自己寫點東西,再讀些,再寫點,再讀些,再寫點…… 如此往複,直到你的文章達到你體會到的範文的簡潔和力量。

過去找到適合閱讀的好的代碼是困難的,因為幾乎沒有大型程序的源代碼能讓新手練手。 這種狀況已經戲劇性地發生變化;開放源代碼軟體,編程工具和操作系統(全都由黑客寫成)現在已經 隨處可見。讓我們在下一個話題中繼續討論……

2. 得到一個開放源代碼的Unix並學會使用、運行它。

我假設你已經擁有或者能使用一台個人電腦(今天的孩子們真幸福 :-) )。新手們能夠朝學習黑客技能邁出的最基本的一步就是得到 一份Linux或BSD-Unix的一種,安裝在個人電腦上,並運行它。

沒錯,這世界上除了Unix還有其他操作系統。 但它們都是以二進位形式發布的——你無法讀到它的源代碼,也不可能修改它。 嘗試在運行DOS或Windows或MacOS的機器上學習黑客技術,就象是帶著腳鐐學跳舞。

除此之外,Unix還是Internet的操作系統。 你可以學會上網卻不知道Unix,但你不了解Unix就無法成為一名Internet黑客。 因此,今天的黑客文化在很大程度上是以Unix為中心的。(這點並不總是真的, 一些很早的黑客對此一直很不高興,但Unix和Internet之間的聯繫已是如此之強, 甚至連Microsoft也無可奈何。)

所以, 安裝一套UNIX——我個人喜愛LINUX但還有其他種類的 (是的,你可以同時安裝Linux及DOS/Windows在同一電腦上)。 學習它,使用它,配置它。用它在Internet上衝浪。閱讀它的源代碼。修改它的源代碼。 你會得到比在Microsoft操作系統上更好的編程工具(包括C,LISP,Python及Perl)。 你會覺得樂趣無窮,學到在你成為大師之前意識不到的更多的知識。

想知道更多關於學習Unix的信息,訪問 The Loginataka。

想知道如何得到一份Linux,訪問 我在哪裡可以獲得Linux。 (譯者:對於中文讀者來講,最簡單的方式未過於前往附近的D版/正版光碟店。)

你可以在 www.bsd.org找到BSD Unix的求助及其他資源。

我有寫一篇關於 Unix和Internet基礎的入門文章。

(註:如果你是一個新手,我不推薦自己獨立安裝Linux或者BSD。 安裝Linux的話,尋求本地Linux用戶組的幫助;或聯繫 Open Projects Network。 LISC維護著一些 IRC頻道, 在那裡你可以獲得幫助。)

3. 學會如何使用WWW和寫HTML

黑客文化建造的大多東西都在你看不見的地方發揮著作用,幫助工廠、辦公室和大學正常運轉, 表面上很難看到它對非黑客的普通人的生活的影響。Web是一個大大的例外。 即便政客也同意,這個巨大耀眼的黑客玩具正在改變整個世界。 單是這個原因(還有許多其它的),你就需要學習掌握Web。

這並不是僅僅意味著如何使用瀏覽器(誰都會),而是要學會如何寫HTML, Web的標記語言。如果你不會編程,寫HTML會教你一些有助於學習的思考習慣。 因此,先完成一個主頁。(網上有很多好的教程; 這是一個。)

但僅僅擁有一個主頁不能使你成為一名黑客。 Web里充滿了各種網頁。大多數是毫無意義的,零信息量垃圾——界面時髦的垃圾, 注意,垃圾的水準都類似(更多信息訪問 The HTML Hell Page)。

要想有價值,你的網頁必須有內容—— 它必須有趣或對其它黑客有幫助。這是下一個話題所涉及的……

4. 如果你不懂實用性的英語,學習吧。

作為一個美國人和一個以英語為母語的人,我以前很不情願提到這點,免得成為 一種文化上的帝國主義。但相當多以其他語言為母語的人一直勸我指出這一點,那就是 英語是黑客文化和Internet的工作語言,你需要懂得以便在黑客社區順利工作。

這一點千真萬確。大概1991年的時候我就了解到許多黑客在技術討論中使用英語,甚至當他們的母語都 相同,英語對他們而言只是第二語言的時候;據我知道的報導,當前英語有著比其他語言豐富得多的技術辭彙, 因此是一個對於工作來說相當好的工具。 基於類似的原因,英文技術書籍的翻譯通常不令人滿意(如果有翻譯的話)。

Linus Torvalds,一個芬蘭人,用英語注釋他的代碼(很明顯這對他來說不是湊巧)。 他流利的英語成為他能夠管理全球範圍的Linux開發人員社區的重要因素。 這是一個值得學習的例子。

黑客文化中的地位

象大部分不涉及金錢的文化一樣,黑客王國靠聲譽運轉。 你設法解決有趣的問題,但它們到底多有趣,你的解法有多好, 是要由那些和你具有同樣技術水平的人或比你更厲害的人去評判的。

相應地,當你在玩黑客遊戲時,你得認識到你的分數主要靠其他黑客對你的技術的評價給出 (這就是為什麼只有在其它黑客稱你為黑客時,你才算得上是一名黑客)。 這個事實常會被黑客是一項孤獨的工作這一印象所減弱;也會被另一個黑客文化的禁忌所減弱 (現在逐漸減弱但仍強大):拒絕承認自我或外部評估與一個人的動力有關係。

特別地,黑客王國被人類學家們稱為一種奉獻文化。 在這裡你不是憑藉你對別人的統治來建立地位和名望,也不是靠美貌,或擁有其他人想要的東西, 而是靠你的奉獻。尤其是奉獻你的時間,你的創造和你的技術成果。

要獲得其他黑客的尊敬,基本上有五種事情你可以干:

1. 寫開放源代碼軟體

第一個(也是最集中的和傳統的)是寫些被其他黑客認為有趣或有用的程序, 並把程序源代碼提供給整個黑客文化使用。

(過去我們稱之為「free software (自由軟體)」, 但這卻使很多不知 free 的精確含義的人感到困惑。 現在我們很多人,根據搜索引擎網頁內容分析至少有2:1的比率,使用「 open-source」software(開放源代碼軟體)這個詞)。

黑客王國里最受尊敬的偶像是那些寫了大型的、好用的、具有廣泛用途的軟體, 並把它們公布出去,使得每人都在使用他軟體的人。

2. 幫助測試並調試開放源代碼軟體

黑客也尊敬那些使用、測試開放源代碼軟體的人。 在這個並非完美的世界上,我們不可避免地要花大多數的開發時間在調試階段。 這就是為什麼任何有頭腦的開放源代碼的作者都會告訴你好的beta測試員 (知道如何清楚描述出錯癥狀,很好地定位錯誤,能忍受快速發布中的bug, 並且願意使用一些簡單的診斷工具)象紅寶石一樣珍貴。 甚至他們中的一個能判斷出哪個測試階段是延長的, 哪個是令人精疲力盡的噩夢,哪個只是一個有益的小麻煩。

如果你是個新手,試著找一個你感興趣的正在開發的程序,做一個好的beta測試員。 你會自然地從幫著測試,進步到幫著抓臭蟲,到最後幫著改程序。 你會從中學到很多,並且與未來會幫你的人結下友誼。

3. 公布有用的信息

另一個好事是收集整理有用有趣的信息做成網頁或文檔如FAQ列表,且讓他們容易獲得。

主要技術FAQ的維護者受到幾乎同其他開放源代碼的作者一樣多的尊敬。

4. 幫助維護基礎設施的運轉

黑客文化(還有Internet的工程方面的發展,就此而言)是靠自願者運轉的。 要使Internet能正常工作,就要有大量枯燥的工作不得不去完成——管理mail list,新聞組,維護大型軟體庫,開發RFC和其它技術標準等等。

做這類事情的人會得到很多尊敬,因為每人都知道這些事情是十分花時間又不象編程那樣好玩。 做這些事情需要奉獻精神。

5. 為黑客文化本身服務

最後,你可以為這個文化本身做宣傳(例如,象我這樣,寫一個「如何成為黑客」的正面的教程 :-) ) (譯者:不知道Barret把它翻成中文算不算?)。 這並非一定要在你已經在這個圈子呆了很久,因以上四點中的某點而出名,有一定聲譽後才能去做。

黑客文化沒有領袖。精確地說,它確實有些文化英雄、部落長者、歷史學家和發言人。 若你在這圈內呆的夠長,你或許成為其中之一。 記住:黑客們不相信他們的部落長者的自誇的炫耀, 因此大舉追求這種名譽是危險的。與其奮力追求,不如先擺正自己的位置 等它自己到你的手中——那時則要做到謙虛和優雅。

黑客和書獃子(Nerd)的聯繫

同流行的迷思相反,做一名黑客並不一定要你是個書獃子。 但它確實有幫助,而且許多黑客事實上是書獃子。 做一個深居簡出的人有助於你集中精力進行十分重要的事情,如思考和編程。

因此,很多黑客都願意接受「書獃子」這個外號, 更有甚者使用更尖刻的「geek(怪人)」一詞並引以為豪—— 這是一種宣布他們獨立於主流社會的聲明方式。訪問 The Geek Page 參加更多的討論。

如果你能集中足夠的精力做好黑客工作同時還能有正常的生活,這很好。 現在作到這一點比我在1970年代是新手的時候要容易的多; 如今主流文化對技術怪人要友善的多。 甚至有越來越多的人意識到黑客通常是很好的戀人和配偶的材料。

如果你因為生活上不如意而迷上做黑客,那也沒什麼——至少你不會分神了。 或許以後你會找到自己的另一半。

風格的意義

重申一下,作為一名黑客,你必須進入黑客精神之中。 當你不在計算機邊上時,你仍然有很多對黑客工作有幫助的事情可做。 它們並不能替代真正的編程(沒有什麼能),但很多黑客都那麼做, 並感到它們與黑客的本質存在某些基本的連繫。

  • 學會流暢地用母語寫作。儘管程序員不能寫好文章的錯誤看法相當普遍, 但是有令人驚訝數目的黑客(包括所有我知道的最棒的)都是不錯的作家。

  • 閱讀科幻小說。參加科幻小說討論會。(一個碰到黑客和未來會成為黑客的人的好方法)

  • 學禪,並且/或者練功習武。(精神修鍊看來是驚人相似。)

  • 練就能分析音樂的聽覺,學會鑒賞特別的音樂。學會玩某種樂器,或唱歌。

  • 提高對雙關語、文字遊戲的鑒賞能力。

這些事情,你已經做的越多,你就越是天生做黑客的材料。 至於為什麼偏偏是這些事情,原因並不完全清楚, 但它們都涉及用到左-右腦能力的綜合,這似乎是關鍵所在 (黑客們既需要清晰的邏輯思維,有時又需要偏離邏輯跳出問題的表象)。

最後,還有一些要去做的事情。

  • 不要使用愚蠢的,嘩眾取寵的ID或昵稱。

  • 不要捲入Usenet(或其他地方的論壇)的罵戰。

  • 不要自稱為「cyberpunk(網路叛客)」,也不要浪費時間和那些人打交道。

  • 不要讓你寄出的Email或張貼的帖子充滿錯誤的拼寫和亂七八糟的語法。

做以上的事情,只會招來嘲笑。黑客們個個記憶超群—— 你將需要數年的時間讓他們忘記你犯下的錯誤。

網名的問題值得深思。將身份隱藏在虛假的名字後是駭客、解密者、d00dz 及其他低等生物幼稚愚蠢的行為特點。黑客不會做這些事; 他們對他們所作的感到驕傲,而且樂於人們將作品與他們的 名相聯繫。 因此, 若你現在用假名,放棄它。在黑客文化里它會令你你失敗的。

其它資源

Peter Seebach 維護著一個非常好的 Hacker FAQ, 專給那些不懂如何與黑客打交道的經理看的。如果Peter的站點不能訪問,下面這個 Excite搜索應該有一份拷貝。

我也著有 黑客文化簡史。

我寫了一份 大教堂與市集,對於Linux及開放源代碼文化現象有詳細的解釋。 我也在這個話題上進一步闡述導致的結局—— 開拓智域。

Rick Moen寫了一份很好的關於 如何運轉一個Linux用戶組的文檔。

我和Rick Moen合作完成了另一份關於 提問的智慧的文章,可以讓你事半功倍的獲得幫助。

如果你想知道PC、UNIX及Internet基本概念和工作原理,參考 The Unix and Internet Fundamentals HOWTO。

當你釋放出一個軟體或為其打補丁,試著按 軟體發行慣例 HOWTO去做。 (以上的提到的文章的中文版大多都可以在http://www.aka.org.cn和http://www.linuxforum.net找到。)

FAQ(常問問題解答)

問:你能教我做黑客嗎?問:那麼,我要如何開始?問:我得什麼時候開始學?現在會不會太遲了?問:要學多久才能學會黑客道?問:Visual Basic及Delphi是好的入門語言嗎?問:你能幫我「黑」掉一個站點嗎?或者教我怎麼黑它?問:我怎麼樣才能得到別人帳號的密碼?問:我如何入侵/查看/監視別人的Email?問:我如何才能在IRC聊天室里偷到頻道op的特權?問:我被黑了。你能幫我避免以後再被攻擊嗎?問:我的Windows軟體出現問題了。你能幫我嗎?問:我在哪裡能找到可以與之交流的真正的黑客?問:你能推薦一些有關黑客的好書嗎?問:成為一名黑客我需要擅長數學嗎?問:我該從那種語言學起?問:我需要什麼樣的機器配置?問:我得因此憎恨和反對Microsoft嗎?問:但開放源代碼軟體不會使程序員丟飯碗嗎?問:我要如何開始?哪裡有免費的Unix?

問:你能教我做黑客嗎?

答:自從第一次發布這份文檔,我每周都會收到一些請求, (頻繁的話一天幾封)要我「教會他們做黑客」。遺憾的是,我 沒有時間和精力來做這個;我自己的黑客項目,及我作為一個開放源代碼倡導者 的四處奔波已經佔用了我110%的時間。

即便我想教你,黑客也依然基本上是一項自行修鍊的的態度和技術。 當真正的黑客想幫助你的時候,如果你乞求他們一湯匙一湯匙「喂」你的話, 你會發現他們不會尊重你。

先去學一些東西。顯示你在嘗試,你能靠自己去學習。然後再去向你遇到的黑客請教特殊的問題。

如果你發E-mail給一位黑客尋求他的幫助,這是兩件首要記住的事情。 第一,寫出來的文字顯得懶且粗心的人通常非常懶于思考且非常馬大哈,不能成為好黑客—— 因此注意拼寫正確,使用正確的語法及發音,否則你可能會無人理睬。 第二,不要試圖要求回復到一個ISP帳號,而那個帳號與你 的發信地址不同。這樣做的人一般是使用盜用帳號,不會有人有興趣為虎作倀幫助竊賊的。

問:那麼,我要如何開始?

答:對你而言最佳的入門方式也許是去參加LUG(Linux用戶組)的聚會。 你可以找到在 LDP的綜合Linux信息頁面上找到類似的組織;也許有一個在你家附近的, 而且非常有可能與一所大學或學校掛鉤。如果你提出要求,LUG成員興許會給你一套Linux, 當然此後會幫你安裝並帶你入門。

問:我得什麼時候開始學?現在會不會太遲了?

答:你有動力學習的時候就是好時候。大多數人看來都是在15-20歲之間開始感興趣的,但 據我所知,在此年齡段之外的例外也是有的。

問:要學多久才能學會黑客道?

答:這取決於你的聰明程度和努力程度。大多數人只要他們專註, 就能在18個月到2年之間學會一套令人尊敬的技能。但是,不要以為就此結束了; 如果你是一個真正的黑客,你要用你的餘生來學習和完善你的技術。

問:Visual Basic及Delphi是好的入門語言嗎?

答:不,因為他們不是可移植的。他們不是那些語言的開放源代碼實現, 所以你被限制在廠商選擇支持的那些平台里。接受這樣一種壟斷局面不是黑客的態度。

Visual Basic特別糟糕。它是Microsoft的私有語言這個事實就足夠讓它臉面全無, 不像其他的Basic,它是一種設計糟糕的語言會教給你壞的編程習慣。

其中一個壞習慣是會依賴於單一廠商的函數庫、控制項及開發工具。 一般而言,任何不能夠支持至少Linux或者一種BSD,或其他第三方操作系統的語言,都是 一種不適合應付黑客工作的語言。

問:你能幫我「黑」掉一個站點嗎?或者教我怎麼黑它?

答:No。任何讀完這份FAQ後還問這個問題的人,都是無可救藥的蠢材, 即使有時間指教我也不會理睬。任何發給我的此類E-mail都會被忽略或被痛罵一頓。

問:我怎麼樣才能得到別人帳號的密碼?

答:這是駭客行為。滾得遠遠的,白痴。

問:我如何入侵/查看/監視別人的Email?

答:這是駭客行為。在我面前消失,混蛋。

問:我如何才能在IRC聊天室里偷到頻道op的特權?

答:這是駭客行為。去S吧,冥頑不靈的傢伙。

問:我被黑了。你能幫我避免以後再被攻擊嗎?

答:不行。目前為止,每次問我這個問題的,都是一些運行Microsoft Windows的菜鳥。 不可能有效的保護Windows系統免受駭客攻擊;太多缺陷的代碼和架構使保護Windows的努力有如 隔靴搔癢。唯一可靠的預防來自轉移到Linux或其他設計得至少足夠安全的系統。

問:我的Windows軟體出現問題了。你能幫我嗎?

答:當然。進入DOS方式,然後鍵入「format c:」。你遇到的任何問題將會在幾分鐘之內消失。

問:我在哪裡能找到可以與之交流的真正的黑客?

答:最佳辦法是在你附近找一個Unix或Linux的用戶組,參加他們的聚會。 (你可以在Metalab的LDP站點 找到一些指向用戶組的鏈接。)

我過去曾說過不能在IRC上找到真正的黑客,但我發覺現在情況有所改變。 顯然一些真正的黑客的社區像GIMP及Perl,也有IRC頻道了。)

問:你能推薦一些有關黑客的好書嗎?

答:我維護著一份Linux Reading List HOWTO,也許你會覺得有用。 Loginataka也很有意思。

關於Python的介紹,請訪問在Python站點上的 入門資料。

問:成為一名黑客我需要擅長數學嗎?

答:不用。黑客道很少使用常規的數學或算術,不過你絕對需要能邏輯性地思考和進行精密的推理。

尤其是你不會用到微積分或電路分析(我們把這些留給電子工程師們 :-))。 一些有限數學(包括布爾代數,集合論,組合數學,圖論)的背景知識會有幫助。

問:我該從那種語言學起?

答:HTML——如果你還不懂的話。市面上有一大堆的封面精美,宣傳得天花亂墜的 糟糕的 HTML書籍,不幸的是很少有好的。我最喜歡的是 HTML: The Definitive Guide。

但 HTML 不完全是一種編程語言。當你準備開始編程時,我推薦從 Python起步。 你會聽到一大群人推薦 Perl,並且 Perl 依然比 Python 流行得多,但是 難學得多且(以我之見)設計得不是很好。

C 確實重要,但它要比 Python 或 Perl 難多了。不要嘗試先學 C。

Windows用戶不要滿足於 Visual Basic。 它會教給你壞習慣,而且它不可以移植,只能在Windows下運行。避免它。

問:我需要什麼樣的機器配置?

答:過去個人電腦能力相當不夠並且內存小,結果給黑客的學習過程設置 了人為的障礙。不過一段時間以前開始就不是這樣了;任何配置比一台 Intel 486DX50 好的 機器都有足夠的能力進行開發工作,X,及 Internet 通訊,同時你現在買的最小的磁碟 都大得富足了。(依Barret之見,現在要至少Pentium 166MMX才夠。)

選擇用來學習的機器時重要的一點是注意配件是否是Linux兼容的(或BSD兼容,如果你選擇學 BSD)。同剛才提到的一樣,大多數現在的機器都是符合的;唯一的值得注意的區域在於 modem和印表機;有些具備為Windows設計的配件的機器不會在Linux下工作。

關於硬體兼容性有一個FAQ;最新版本在 這裡。

問:我得因此憎恨和反對Microsoft嗎?

答:不,你不必如此。不是因為Microsoft不令人討厭,而是因為黑客文化早在 Microsoft出現之前就存在了,且將在Microsoft成為歷史後依然存在。 你耗費在憎恨Microsoft的任何力氣不如花在愛你的技術上。寫好的代碼—— 那會相當有效地打擊Microsoft又不會讓你得到惡報應。

問:但開放源代碼軟體不會使程序員丟飯碗嗎?

答:看起來不太可能——目前為止,開放源代碼軟體產業似乎創造了更多的就業機會而不是 減少就業機會。如果寫一個程序比起不寫來是純經濟收益的話,那麼在寫完後, 程序員應該得到報酬不管程序是否是開放源代碼。 並且,無論寫出多麼「免費自由」的軟體,都存在更多對新的,定製的軟體的需求。 我有這方面更多的論述,放在開放源代碼 網站資料中。

問:我要如何開始?哪裡有免費的Unix?

答:在本份文檔的某個地方我已經提到過何處可以得到最常用的免費Unix。 要做一名黑客,你需要自立自強,以及自學能力。現在開始吧……


如何成為一名黑客

說明 這篇文章是對 ESR 的經典文章 How to become a hacker ? 的最新修訂翻譯,參照了一些國內的翻譯版本,某種意義上來講,這不僅僅是一篇黑客入門的讀物,也是很不錯的編程入門指導。

閱讀全文 如何成為一名黑客


http://www.catb.org/~esr/faqs/hacker-howto.html

How To Become A Hacker

Eric Steven Raymond


無論任何人,

只要找到好方向,

找到對的人,做一個精心的布局,遇到一個不錯的機會,

玩命幹起來,那麼只要三年,或許只要兩年,就足以改變一個人的大命運。

比如從草根到行業大牛,從小創業者,到行業里的殿堂級級人物。

不存在什麼十年打拚之類的, 黑客亦是如此。

當然還有很多得網路攻擊 甚至利用所學技術牟利

通過一些捷徑 做違法的事情,大家一定引起重視,你的初心是什麼???

否者 我建議你不要學什麼黑客 你就了解一下 裝裝b就好了。

有很多入門小白,為了炫耀技術。

很多人都存在著這種想法,

他們本身掌握了強大的技術,但是卻沒有地方展示,

於是藉助攻擊破壞的方法引起大家的注意。

還有為了經濟利益。

有許多的黑客靠著自己強大的技術投身黑產,

漏洞、木馬、病毒、釣魚、拒絕服務攻擊等

各種攻擊手段來攻擊企業或個人的信息系統和終端設備,並從中牟取金錢利益。

花無涯帶你走進黑客世界 - 知乎專欄


居然是半個校友,說「半個」是因為我退學了╮(╯▽╰)╭

首先,你得成為一個「黑客」。

要記住,只有當真正的黑客們承認你是個「黑客」的時候,你才是個真正的「黑客」,而不是script kiddie。

  • 關注技術,而不是結果。你可以黑掉了無數的網站,但你有可能依然只是個script kiddie;你可以沒有任何「戰果」,但是卻有一群技術宅津津樂道你分享的技術;你可以脫褲出售,做黑產,發家致富,也可以研究攻擊和防禦的方法,讓網路變得更加安全。
  • 學會搜索,而不是無腦提問。用好搜索引擎,很多問題都可以找到答案,同時搜索引擎也是最好的黑客工具之一。
  • 交流,而不是閉門造車。交流能獲得更多的靈感,同時也能避免很多彎路。
  • 思考,而不僅僅是學習。學習的是前人的經驗,只有思考才是自己的,才能到達沒有人涉足的地方,做到極致。
  • 動手,而不僅僅是說說。Talk is cheap. Show me the code.
  • 分享,而不僅僅是索取。當你從社區汲取營養的時候,別忘了回饋。

我能說的只有這些了,也許這些不全正確,但至少這是我的做法。

「黑客」是把事情做到極致的一群人,我還不夠格~


真正優秀的黑客不會想要盜取朋友的QQ。真是浪費時間。

真正優秀的黑客不會想要盜取男/女朋友的任何信息。這不能解決你們的任何關係。

真正優秀的黑客不會想要入侵學校系統。用黑客思維來努力學習提高成績比使用黑客技術欺騙更好。

真正優秀的黑客不會想要入侵公司系統。這不能解決任何問題,找一個更好的BOSS更重要。

真正優秀的黑客不會想要偷窺隱私。主動認識自然會告訴你。


學習之初,找一個你覺得很牛逼的人

當你什麼時候覺得,他在你的心中不再那麼牛逼了

那你就牛逼了


我靠


在法律允許的範圍內,不對他人造成不必要的損害,不違背道德,多做好事,過來人的經驗


推薦閱讀:

一名黑客會經歷哪些階段?
信息安全工程師有全棧一說嗎?
成為一個黑客需要多久?
黑客使用Python能做些什麼?
為什麼heap spary要用0x0C0C0C0C這個奇怪的數字?

TAG:黑客Hacker |